Based on handwritten digits - which a sampled is displayed hereinabove - stored in the MNIST database (/res/...) and parsed by the great and useful toolbox mnist written by Marc Garcia. This program uses feedforward and backpropagation in a 3-layers Neural Network seen below to learn how to recognize the former mentionned digits :
- Feedforward
- Backpropagation
- Gradient Descent
- Fit
- Predict
- Accuracy Test
- Customizable number of layers
- Cool terminal-based UI
- Continuous Integration (GitHub Actions, Pytest)
- Use none-MNIST handwritten digit as inputs
- Any more ideas ? Open an Issue !
For a batch size of one, five epochs and a learning rate of 0.01, we get these graphs :
To setup the project on your local machine:
- Click on
Fork
. - Go to your fork and
clone
the project to your local machine. git clone https://github.com/master-coro/mnist-digit-recognition
pip3 install -r requirements.txt
To run the project:
- Cd into the root of the project
cd path/mnist-digit-recognition
- Run the main script with necessary args :
python src/main.py
To contribute to the project:
- Choose any open issue from here.
- Comment on the issue:
Can I work on this?
and get assigned. - Make changes to your fork and send a PR.
To create a PR:
Follow the given link to make a successful and valid PR: https://help.github.com/articles/creating-a-pull-request/
To send a PR, follow these rules carefully,otherwise your PR will be closed:
- Make PR title in this format:
Fixes #IssueNo : Name of Issue
For any doubts related to the issues, i.e., to understand the issue better etc, comment down your queries on the respective