SINNER - Simplest Implementation of Neural Networks for Effortless Runs
Project description
SINNER - Simplest Implementation of Neural Networks for Effortless Runs
I worked with Neural Networks more years ago than I'd like to remember. I'm returning to study "black box models", and I felt that there is no simple way of creating a neural network, and that was a mistake. That's why I've created this Python library.
Creating a new neural network is (and always will be) as simple as NeuralNetwork(list)
, where list
is a list of integers with the number of neurons on every layers (the first one being the input, the last one the output, and the rest the hidden ones). Of course there are and will be optional parameters, but it will always work with a standard view for starters.
Of course "simplest" is not the same as "simplistic", and every aspect of a neural network that makes this implementation more robust is welcome.
Public methods
This list needs to be as short as possible, always. Nowadays we have three methods only:
eval(inputs)
: eval an array of inputs with current configuration of the neural network.
train(trainingInputs, trainingOutputs)
: train the network from a set of inputs and outputs
export(filePath)
: export a JSON representation of the neural network to an external file
You can also create a neural network from a JSON file by calling NeuralNetwork.fromFile(filePath)
.
Usage
This project is available as a package on PyPI.org
To Do List
- add a log system for training outputs
- add usage examples on Git
- make transfer functions selectable on creating
- improve public methods documentation (swagger?)
- add automated tests
The original version of this implementation was loosely based on Jason Brownlee's "How to Code a Neural Network with Backpropagation In Python (from scratch)"
Comments and suggestions, feel free to contact me!
--Friar Hob
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sinner-0.0.2.tar.gz
.
File metadata
- Download URL: sinner-0.0.2.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b8ab065686fac2953ee2b263c1cca672ec7efdd358f550f972778f141402e10 |
|
MD5 | ee75f38b56ec4bc07de9887b1ab3211e |
|
BLAKE2b-256 | 5cedfa920ddd6736f9dd34df599f66fcb407ed51e19b8fc1e75eecd05011a58c |