Skip to main content

Spiking neural networks for AI workflows and neuromorphic computing

Project description

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

Argonne Patent & Intellectual Property File Number: SF-22-154

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spikelearn-0.1.1.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

spikelearn-0.1.1-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file spikelearn-0.1.1.tar.gz.

File metadata

  • Download URL: spikelearn-0.1.1.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.14

File hashes

Hashes for spikelearn-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e0dfa886249fe34db438e16c3951012f310ca9b9a217a4a298f9c742ee12571b
MD5 04d2b4106740bd0dace9fef535a9eff9
BLAKE2b-256 e33387ad8f6211626477ee5f3286010326acfde001ad2e2605c7a3d8bc10c8c3

See more details on using hashes here.

File details

Details for the file spikelearn-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: spikelearn-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.14

File hashes

Hashes for spikelearn-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d872b06a0458632d5cf6e40c623c2861b20a0d930b1b255fcf37da7f407efdf
MD5 a1c9d93822d8c487d7cafeb441450475
BLAKE2b-256 bfc111c0f302400e263e040425c00a1301957ef8b680779ec6ee7ba259295771

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page