This is a basic implementation of a neural network for use in C and C++ programs. It is intended for use in applications that just happen to need a simple neural network and do not want to use needlessly complex neural network libraries.
It features multilayer backpropagation neural network with settable momentum and learning rate, easy portability, and small size.
- Multilayer perceptron neural network.
- Backpropagation training.
- Trainable bias.
- Small.
- Fast.
- Easy to incorporate in own application.
- Easy to extend.
- Licenced under MIT.
- Includes example application to train a network to recognize handwritten digits.
This project has been tested with Debian and Fedora.
For example, to create a neural network with 2 neurons in the input layer, 3 neurons in the hidden layer, and 1 neuron in the output layer, you can use a command like this:
make
./create_network 3 2 1 -o myNetwork
You can modify the following
*.spec
and*.net
files according to your own testing.
./train_network xornet.spec
./show_network myNetwork xornet.net
You can use the
-h
or--help
arguments for all other methods. This will give you information on usage.
- Ethem Alpaydın For datasets and training set & books.
- Cenk Kaynak For datasets and training set & articles.
- UCI Machine Learning Repository For datasets.
- FANN
- Machine Learning, Tom Mitchell
- comp.ai.neural-nets FAQ
- Peter Van Rossum