PDX Code Guild - Capstone Project - Neural Net based Digit Guesser
A custom neural net for recoginzing handwritten digits, with a serious nod to I Am Trask. The neural net is pre-trained on the MNIST dataset (run on an AWS instance). And the user input is rescaled and tested.
sketch.js is a library created by Michael Bleigh to allow the user to draw the image of a digit. It has been modified to pull a drawn image from the page before being resized and sent to the neural network for classifaciton.
Requires running PostgreSQL server. Create a new database named ‘netdb’
createdb netdb
Clone the repo locally, then install the requirements:
pip install -r requirements.txt
python3 manage.py loaddata guess/fixtures/initial_data.json
python3 manage.py runserver
Then navigate to localhost:8000 on your browser and draw away1
The baseline architecture of the original hand rolled neural net is on Github, here, and the code for the webapp (including Finnegan) be found here.
Full documentation hosted here
To adjust hyper-parameters or choose dataset: Open net_launch.py and adjust as needed at the bottom of the file. The dataset can be switched by commenting out the appropriate line at the bottom and uncommneting the other. Or simply:
from Network import network
And feed it the appropriate parameters.
Documentation is out of date, as the custom neural network was since trained on a convolutional neural net trained on affine transformations of the original MNIST dataset.