A convolutional neural network from scratch
The purpose of this project was to understand the full architecture of a conv net and to visually break down what's going on while training to recognize images. In particular, I was interested in seeing how the weight kernels pick up some pattern over the course of the training.
run.py
to start the trainingEven though you can get some insights into the learning during training, the network is extremely slow! This is mainly because it was never designed and optimized to process large volume of images. It would be great to rewrite this in Theano or Tensorflow