An implementation of a simple Convolutional Neural Network (CNN) based on the tutorial by Victor Zhou at:
https://victorzhou.com/blog/intro-to-cnns-part-1/
https://victorzhou.com/blog/intro-to-cnns-part-2/
The network classifies digits from the MNIST digits database with an average accuracy of about 90%.
The CNN consists of four layers namely: the convolution layer(Convolution.java), the maximum pooling layer (MaxPool.java), the softmax activation layer (SoftMax.java), and the output layer that implements cross-entropy loss.
-
Import the project into your favorite IDE (the project is in Netbeans, though).
-
Go to the data folder and unzip MNIST.zip into that same destination folder.(Use 'extract here...') (Your project directory should read /CNN/data/data/mnist_png/mnist_png/training/)
-
run the CNN.java file.