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
DescribeNCreateclass - 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
DataBASEclass - 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,TanhandSoftmax.
propagation:
- inherits from
Activation_Functionclass. - implements methods necessary for forward and backward propagation.
tlp:
- most imporrtant of all, inherits from
propagationclass. - 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.whlsection
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|
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
|