Skip to content

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.

License

fkkarakurt/Nerve

Repository files navigation

Social

Nerve | Neural Network Library

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.

Features

  • 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.

Internal Structure

internatl structure

Usage

This project has been tested with Debian and Fedora.

Create Network

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.

Training

./train_network xornet.spec 

Show Network

./show_network myNetwork xornet.net 

You can use the -h or --help arguments for all other methods. This will give you information on usage.

Special Thanks

LICENSE

MIT