A small example package
Project description
Two Layer Perceptron
A Two Layer Perceptron(specialized Multi Layer Perceptron) from scratch. The whole program is implemented on the principles of Object Oriented Programming Design. The program fetches mnist data, stores into a database then retrieves it using APIs. These APIs for creation, storing and retreiving from the database has also been implemented from scratch on the lines of OOPD.
Authors
- Giridhar S. [MT21026]
- Palani Vigneshwar [MT21062]
- Shashwat Vaibhav [Mt21082]
- Arpit Mathur [MT20328]
Necessary Modules
The modules and standard routines need to be pre-installed are as follows:-
- numpy
- pandas
- matplotlib
- sklearn
- sqlite3
- pycallgraph
Necessary Imports
- numpy
- pandas
- matplotlib.pyplot
- matplotlib.image
- sklearn.datasets.load_digits
- sqlite3
- sklearn.preprocessing.StandardScaler
- sklearn.preprocessing.MinMaxScaler
- sklearn.model_selection.train_test_split
- sklearn.metrics.classification_report
- sklearn.model_selection accuracy_score
- pycallgraph.PyCallGraph
- pycallgraph.output.GraphvizOutput
- pycallgraph.Config
- pycallgraph.GlobbingFilter
Classes Defined
DescribeNCreate:
- provides methods to get information, descriptive statistics and dataframe creation utility
- accepts bunch dataset during instantiation.
DataBASE:
- Inherits from
DescribeNCreate
class - Provides method to create and store to a database from dataframe proovided to it.
- Implements all the Schema creation, insertion and exception handling for Database Error from scratch.
FetchFB:
- Inherits from
DataBASE
class - provides utility to fetch database rows by implementing fetch query from scratch.
- performs exception handling.
newDataBase:
- instantiated by providing database name and table name of our choice.
- provide methods to store the results from 2 Layer Perceptron into a database.
- performs schema creation and Insertion queries from scratch.
Activation_Function:
- It acts as a generic class to implement several activation functions such as
Sigmoid
,ReLu
,Tanh
andSoftmax
.
propagation:
- inherits from
Activation_Function
class. - implements methods necessary for forward and backward propagation.
tlp:
- most imporrtant of all, inherits from
propagation
class. - provides methods to set weights, hyperparameters parameters, initialization and updation.
- provides the important fit and predict utility.
- provides accuracy_score utility as well.
- all the methods implemented from scratch.
Folders,Files wheel and installation info @Giridhar
oopd_iiitd_group9-0.0.1-py3-none-any.whl:
- Wheel file which can be installed via -> pip install oopd_iiitd_group9-0.0.1-py3-none-any.whl
- the classes in the wheel file can be accessed as follows -> from project.code import *
- the project above is a folder in the wheel file
main:
- This folder contains the files with running code
- This folder contains two files main_code.py and code_with_whl.py
main_code.py:
- This file contains the main code with all the classes.
code_with_whl.py:
- This file contains only the code in main(). The whl file installed is used here and the classes from the wheel file is used here
- Please look into
oopd_iiitd_group9-0.0.1-py3-none-any.whl
section
src:
- This folder is used to create the whl file i.e. for packaging
- It is not the main running folder.
dist:
- This also contains the .whl file and got why building the file
doxygen_html:
- This folder contains all the html files generated by doxygen.
profiling_pycallgraph:
- This is the profiling report created using pycallgraph and is in the format of .png
UML Class diagram:
- This is the UML class diagram visualising the classes and the relations in the main code.
setup.cfg
- Used in creating the wheel file (.whl file)
pyproject.toml
- Used in creating the wheel file (.whl file)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file oopd_iiitd_group10-0.0.1.tar.gz
.
File metadata
- Download URL: oopd_iiitd_group10-0.0.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9a13560e9bb2651ae0d3e697aa3e09204b5fe4362d1c5d24849c3746a83df42 |
|
MD5 | c9d0b67c1ed5805d7d61d5cb1f16c79f |
|
BLAKE2b-256 | fb327ac188b70b106c68a397d758fb70781830f0511f7210ff5741b1ca06f941 |
Provenance
File details
Details for the file oopd_iiitd_group10-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: oopd_iiitd_group10-0.0.1-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bd55555ac06b4cd057f9c25308d88327ec4ad980ee7b81d8888407c74ce738a |
|
MD5 | 00c8f176b135ce71b51f2f087ef3eb40 |
|
BLAKE2b-256 | b5789846bc81a26f12be35bf7f46ed3bf8370d7d3e46cd109033c7e2de541fb0 |