top of page

DigitPredict

DigitPredict takes a written digit from the user and guesses which it is.  It uses a neural network trained with the MNIST database of handwritten digits.  This neural network implementation was based on Michael Nielsen's book, Neural Networks and Deep Learning.  However, I used Javascript instead of Python and replaced Numpy with Tensorflow.  Tensorflow was only used for matrix/vector operations, as I avoided using the Layers API in order to learn the principles and mathematics behind a basic neural network.  This network can make predictions from the MNIST data set with approximately 95% accuracy.  NOTE: the network is currently a bit finicky and likes its digits to be centered and take up the full square without going beyond the boundaries.

What I learned from this project:

  • The mathematics of neural networks

  • How to preprocess images with HTML5's canvas element into usable tensors

  • How to use TouchEvents to allow mobile users to draw on a canvas

  • One way to implement a neural network without using a higher level API

View project       View code on GitHub

Screenshot_2019-05-27 https obscure-anch
bottom of page