Skip to main content

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

Metadata

Release files for sinner 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sinner 0.0.2
File Size Uploaded Provenance Actions
sinner-0.0.2.tar.gz 3.3 kB Without provenance Details for sinner-0.0.2.tar.gz

Release files / sinner-0.0.2.tar.gz

Download URL sinner-0.0.2.tar.gz
Size 3.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0b8ab065686fac2953ee2b263c1cca672ec7efdd358f550f972778f141402e10
BLAKE2b-256 checksum
How to use checksums
5cedfa920ddd6736f9dd34df599f66fcb407ed51e19b8fc1e75eecd05011a58c
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for sinner 0.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page