A small program that uses a pre-trained neural network to estimate (in real time) numbers drawn on a canvas. This was mainly an excuse to use the neural network the Make Your Own Neural Network book helps you build. I do recommend checking out the book, it's a great introduction to the concepts of neural networks in a gentle way (no maths or programming experience required).
- python 3.6+
Python modules
- PyQt5
- Pillow
- numpy
All are available through pip.
Run DigitGuesser.py. Left click in the white square to draw, right click to clear. Estimates auto update as you draw.
If you want to play with the neural network that works behind the scenes, the scripts reside in neural_net/own/. Each script serves a single function:
- get_data.py downloaded the MNIST data for the network to be trained on
- neural_network.py has the main neural network class in it (this file has no main to execute)
- train.py instantiates and trains a new instance of the neural network class on the training data. This is most likely the file you want to play with. It saves the final weights in neural_network.npz
- test.py tests the weights in neural_network.npz against the test data, and gives an accuracy percentage as a result
DigitGuesser is copyrighted free software made available under the terms of the GPLv3
Copyright: (C) 2017 by Keith Offer. All Rights Reserved.