Neural network for handwriting recognition
C++ C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
build
dat
src
.gitignore
.travis.yml
CMakeLists.txt
COPYING
README.md

README.md

NNet

Build Status

This is a C implementation of the neural network for handwriting recognition outlined in the free online book by Michael Nielsen.

It was written as a learning exercise, and is essentially a port of Michael's Python implementation.

Build instructions

  • Install the GNU Scientic library, GCC, G++

  • Download the training data:

wget http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
wget http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
  • Unzip the data into ./dat:
gunzip -c train-images-idx3-ubyte.gz > dat/train-images-idx3-ubyte
gunzip -c train-labels-idx1-ubyte.gz > dat/train-labels-idx1-ubyte
  • Build using cmake eg. from the project directory:

    • cd build
    • cmake ..
    • make
  • Run from the project folder:

    • Tests with ./tests
    • Train the network with ./run
  • Read the book!