# 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.
## 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)
```
## Copyright and license
Copyright © 2022, UChicago Argonne, LLC
Spikelearn is distributed under the terms of BSD License. See
[LICENSE](https://github.com/spikelearn/spikelearn/blob/master/LICENSE.md)
Argonne Patent & Intellectual Property File Number: SF-22-154
Raw data
{
"_id": null,
"home_page": "",
"name": "spikelearn",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "spiking neurons,neural networks,AI,neuromorphic computing,spiking neural networks,neuroscience",
"author": "Angel Yanguas-Gil",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/e3/33/87ad8f6211626477ee5f3286010326acfde001ad2e2605c7a3d8bc10c8c3/spikelearn-0.1.1.tar.gz",
"platform": null,
"description": "# Spikelearn\n\nImplementation of spiking neural networks capable of online learning tailored\nfor machine learning workflows and neuromorphic computing applications.\n\n\n## Motivation\n\nWe needed a SNN model with the following requirements:\n\n- Capable of handling traditional ML workflows\n- Heterogeneous, with the ability to integrate both mathematical models and\n neurons or synapses inspired on neuromorphic computing and emergent devices\n- That could be easily parametrizable, in order to explore a large number of\n configurations in high performance computing environments.\n- That could reproduce models in existing neuromorphic chips such as Loihi.\n- That could handle neuromodulators and other neuroscience-inspired goodies.\n- That could be easily extensible.\n- That is capable of online learning through a variety of synaptic plasticity\n rules.\n\n\nSpikelearn intends to fill that role.\n\n\n## Status\n\nSpikelearn is still in development.\n\n## Usage\n\n```\nfrom spikelearn import SpikingNet, SpikingLayer, StaticSynapse\nimport numpy as np\n\nsnn = SpikingNet()\nsl = SpikingLayer(10, 4)\nsyn = StaticSynapse(10, 10, np.random.random((10,10)))\n\nsnn.add_input(\"input1\")\nsnn.add_layer(sl, \"l1\")\nsnn.add_synapse(\"l1\", syn, \"input1\")\nsnn.add_output(\"l1\")\n\nu = 2*np.random.random(10)\nfor i in range(10):\n s = snn(2*np.random.random(10))\n print(s)\n```\n\n## Copyright and license\n\nCopyright \u00a9 2022, UChicago Argonne, LLC\n\nSpikelearn is distributed under the terms of BSD License. See \n[LICENSE](https://github.com/spikelearn/spikelearn/blob/master/LICENSE.md)\n\nArgonne Patent & Intellectual Property File Number: SF-22-154\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Spiking neural networks for AI workflows and neuromorphic computing",
"version": "0.1.1",
"split_keywords": [
"spiking neurons",
"neural networks",
"ai",
"neuromorphic computing",
"spiking neural networks",
"neuroscience"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bfc111c0f302400e263e040425c00a1301957ef8b680779ec6ee7ba259295771",
"md5": "a1c9d93822d8c487d7cafeb441450475",
"sha256": "5d872b06a0458632d5cf6e40c623c2861b20a0d930b1b255fcf37da7f407efdf"
},
"downloads": -1,
"filename": "spikelearn-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a1c9d93822d8c487d7cafeb441450475",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 16302,
"upload_time": "2023-01-15T01:26:08",
"upload_time_iso_8601": "2023-01-15T01:26:08.283766Z",
"url": "https://files.pythonhosted.org/packages/bf/c1/11c0f302400e263e040425c00a1301957ef8b680779ec6ee7ba259295771/spikelearn-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e33387ad8f6211626477ee5f3286010326acfde001ad2e2605c7a3d8bc10c8c3",
"md5": "04d2b4106740bd0dace9fef535a9eff9",
"sha256": "e0dfa886249fe34db438e16c3951012f310ca9b9a217a4a298f9c742ee12571b"
},
"downloads": -1,
"filename": "spikelearn-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "04d2b4106740bd0dace9fef535a9eff9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13778,
"upload_time": "2023-01-15T01:26:11",
"upload_time_iso_8601": "2023-01-15T01:26:11.060531Z",
"url": "https://files.pythonhosted.org/packages/e3/33/87ad8f6211626477ee5f3286010326acfde001ad2e2605c7a3d8bc10c8c3/spikelearn-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-15 01:26:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "spikelearn"
}