This is an implementation of a neural network. It is originally based on the the algorithms from Michael Nielson's book, but it also adds some of my own features. Find a full description of the features in the project overview.
There are multiple versions of the neural network, with more features and increasing complexity in each version. You can find each version on its own branch. Also see the project overview for a description of each version.
To use this module, you must download the source code from this repository, so you will need to install the dependencies for it. But don't worry, this process has been automated with the provided configure
scripts.
You can set up your environment to either use the module or work on the project by first cloning the repository:
git clone https://github.com/michaeljfriedman/simple-neural-network.git && cd simple-neural-network
and then running the provided configure
script for your OS. (However, note that to use this script, you must have the following baseline software installed: Python 2.7, pip package manager, Python virtualenv) Run:
./configure --help
in a Bash shell (Linux/Mac) or:
.\configure --help
in PowerShell (Windows) for instructions on its usage. Read on for details on the project's dependencies.
This project is written in Python 2.7, and it requires the following Python packages:
- Numpy: vector/matrix algebra package, used for network computations
- Matplotlib: data plotting library, used to plot network training progress
If you already have these installed or would rather just install it yourself, you don't need the configure
script. It's only here as a convenience.
For more details, see the project documentation.