A fully connected neural network, ELU activation in hidden layers and sigmoid in output layer. Comes with a simple user interface for training and testing the neural net with MNIST hand-written digits but can be used for practically any task since the size of the neural net and batch size can be freely choosed. Is able to achieve over 97% accuracy in the MNIST dataset with just a few minutes of training.
docker run -itv parameters:/workdir/parameters veetimar/neural-networkNote that matplotlib seems not to work inside a container so plotting error after training and showing images classified wrong/right do not work when using Docker.
Clone the repository
git clone https://github.com/veetimar/neural-network-pythonInstall the required dependencies with
poetry install --without devIf you wish to use the neural network for something else than the included UI you can run
poetry install --without dev,runinstead.
To run the digits recognition UI:
poetry run python src/digits.pyDocstrings in the code should give a clear enough view on how the network class can be used in you own code. Mainly look at "forward" and "train" methods.