| .. | ||
| client | ||
| examples/MNIST | ||
| src | ||
| tests | ||
| .gitignore | ||
| Makefile | ||
| README.md | ||
Extension: Artificial Neural Networks in C
Folder Structure
- src: Contains the source code for the project. Two modules:
matrixandnetwork. - tests: Contains unit and integration tests for the project.
test_matrix.c: Unit tests for thematrixmodule.test_network.c: Unit tests for thenetworkmodule.test_xor: Integration tests for a full neural network to learn the XOR function.
- examples: An example of a non-trivial neural network that learns to recognize handwritten digits. The network is trained on the MNIST dataset, with about 100K training examples.
- client: Contains a simple interface in python to interact with the neural network. You can there draw a digit and the network will try to recognize it in real time! Give it a go!
Building the Project
To build the project, run the following commands:
make
Running the Tests
To run the tests, run the following commands:
./build/test_matrix
./build/test_network
./build/test_xor
./build/test_mnist
As it stands, the mnist has about 98% accuracy!
====================================
Accuracy: 0.976300
====================================
Running the client
To run the client, run the following commands:
cd client
python mnist_client.py