A neural network that learns to recognize hand written digits
This project uses mainly two libraries: numpy and matplotlib. cPickle and gzip are also used to load the mnist database. The easiest way to get started is to install Anaconda, information can be found here for every OS.
If your goal is a simple presentation click this link to open the jupyter notebook in your browser so you do not have to install anything. Instead if you want to interact with the notebook without installing anything click this tag and then open the notebook (:warning: it is really slow :warning:)
Simply run
$ python main.py
You should see an output like this
Loading the dataset...
Dataset loaded
Learning...
Learned
Accuracy:
train -> 98.60%
test -> 77.60%
Random test:
guess 9
correct 9
and a window with the image of a hand written nine should open.
If you have installed Anaconda you should be able to run
$ jupyter notebook
so you can play with the notebook in the browser.
Currently the best score is 98.89% on training and 83.41% on test. If you get a better score please submit a pull request with the settings you used. Thank you! 🚀