eliasyilma / CNN

A pure java implementation of Convolutional Neural Networks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CNN

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.

USAGE

  1. Import the project into your favorite IDE (the project is in Netbeans, though).

  2. 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/)

  3. run the CNN.java file.

About

A pure java implementation of Convolutional Neural Networks.


Languages

Language:Java 100.0%