The associated training page for this network is here: digittraining.html
Because my motivation for doing this project is to learn about how these things work at the most fundamental level, and because deriving and implementing the gradient descent training of the network is where the real math is, I decided not to cut any corners and to intentionally re-invent the wheel for my own understanding. You can see my somewhat crude training page here: digittraining.html This network instance has been trained on the MNIST set of 60,000 handwritten digit images, and scores approximately 98% accuracy on the associated set of 10,000 validation images.
During training of the network, I used a small amount of input image augmentation suggested by Andrej Karpathy in the notes accompanying his MNIST example here: http://cs.stanford.edu/people/karpathy/convnetjs/demo/mnist.html A random 24x24 crop is taken from each of the 28x28 digit images. The network was trained using 2 passes of the dataset, a total of 120,000 impressions.