Spikelearn
Implementation of spiking neural networks capable of online learning tailored for machine learning workflows and neuromorphic computing applications.
Motivation
We needed a SNN model with the following requirements:
- Capable of handling traditional ML workflows
- Heterogeneous, with the ability to integrate both mathematical models and neurons or synapses inspired on neuromorphic computing and emergent devices
- That could be easily parametrizable, in order to explore a large number of configurations in high performance computing environments.
- That could reproduce models in existing neuromorphic chips such as Loihi.
- That could handle neuromodulators and other neuroscience-inspired goodies.
- That could be easily extensible.
- That is capable of online learning through a variety of synaptic plasticity rules.
Spikelearn intends to fill that role.
Status
Spikelearn is still in development. Please check spikelearn's documentation in readthedocs.
Quick install
Through pypi:
pip install spikelearn
Usage
from spikelearn import SpikingNet, SpikingLayer, StaticSynapse
import numpy as np
snn = SpikingNet()
sl = SpikingLayer(10, 4)
syn = StaticSynapse(10, 10, np.random.random((10,10)))
snn.add_input("input1")
snn.add_layer(sl, "l1")
snn.add_synapse("l1", syn, "input1")
snn.add_output("l1")
u = 2*np.random.random(10)
for i in range(10):
s = snn(2*np.random.random(10))
print(s)
Acknowledgements
- Threadwork, U.S. Department of Energy Office of Science, Microelectronics Program.
Copyright and license
Copyright © 2022, UChicago Argonne, LLC
Spikelearn is distributed under the terms of BSD License. See LICENSE
Argonne Patent & Intellectual Property File Number: SF-22-154
Metadata
Release files for spikelearn 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spikelearn-0.1.2.tar.gz | 15.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spikelearn-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.9 kB
Release files / spikelearn-0.1.2.tar.gz
| Download URL | spikelearn-0.1.2.tar.gz |
|---|---|
| Size | 15.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
04910a6b2b2ede868b466cc2a0356a5fc5db41acfbea5484a07017deee3ac2e2
|
|
BLAKE2b-256 checksum How to use checksums |
edd4b15b4c888efae1585821fe45bc6626a6dde84d4b92a468507fce744ed1e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / spikelearn-0.1.2-py3-none-any.whl
| Download URL | spikelearn-0.1.2-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a887ca5ef73056876280c90dd29cf96f19b13ab9e65815de5804048d1f1ed962
|
|
BLAKE2b-256 checksum How to use checksums |
05c04713abbfe925e13a6bbf97d4e39e84cd867992be560e9a59cf0e3d156980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|