/neural-networks

Java library with Javadoc for neural networks and MNIST image classification.

Primary LanguageHTMLMIT LicenseMIT

neural-networks

MNIST image classifier and easy-to-use Java ANN library, version 1.2. Create, save, load, and train neural networks.

Current Features

  • Creating networks given layer size parameters
Network net = new Network(784,100,10);
  • Loading networks from text files
Network.loadNetworkFromResource("foo.txt");
  • Saving networks at text files
net.saveNetworkAtResource("foo.txt");
  • Training networks from MNIST dataset
net.trainFromMnistData("data/train-images.idx3-ubyte", "data/train-labels.idx1-ubyte", eta, start, end, epochs, bw);
  • Testing networks from MNIST dataset
net.testAll("data/t10k-images.idx3-ubyte", "data/t10k-labels.idx1-ubyte", start, end, showMistakes, bw);
  • Network at network.txt that can classify MNIST images
  • Image prompt, applet, and classifier to showcase library

Screenshot

Future Plans

  • Implement other types of neural nets
  • Add support for other datasets/applications
  • GUI to facilitate usage of library
  • Optimize and implement more efficient algorithms

Author and Licensing Information

Written by Reedit Shahriar in January 2018. Licensed under MIT License.

Notes

  • Used code from this repo to open MNIST images and read data.