Skip to content

A curated list of awesome neuromorphic frameworks, libraries, resources, and other things

License

Notifications You must be signed in to change notification settings

artiomn/awesome-neuromorphic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 

Repository files navigation

Awesome Neuromorphic Awesome

A curated list of awesome spiking or neuromorphic frameworks, libraries, resources, and other things (i.e. useful robotics simulators and frameworks).

Contents

Spiking and Neuromorphic Frameworks

  • Auryn - Simulator for recurrent spiking neural networks with synaptic plasticity.
  • BindsNET - Python package used for simulating spiking neural networks (SNNs) on CPUs or GPUs using PyTorch Tensor functionality.
  • BrainCog - BrainCog is an open source spiking neural network based brain-inspired cognitive intelligence engine for Brain-inspired Artificial Intelligence and brain simulation.
  • Brian 2 - Brian is a simulator for spiking neural networks. It is written in the Python programming language and is available on almost all platforms. We believe that a simulator should not only save the time of processors, but also the time of scientists. Brian is therefore designed to be easy to learn and use, highly flexible and easily extensible.
  • CARLSim - CARLsim is an efficient, easy-to-use, GPU-accelerated library for simulating large-scale spiking neural network (SNN) models with a high degree of biological detail.
  • GeNN - GeNN is a GPU-enhanced Neuronal Network simulation environment based on code generation for Nvidia CUDA.
  • Intel LAVA - Software Framework for Neuromorphic Computing from Intel.
  • Kaspersky Neuromorphic Platform - The Kaspersky Neuromorphic Platform or KNP is a software platform for developing, training and executing spiking neural networks on a variety of computers. Platform contains totally spiking package, that allows to build and run spiking networks on CPU or AltAI neuromorphic hardware and ANN2SNN package, that can train spiking networks using Tensorflow and then run AltAI. Core of the platform was written in C++. KNP has fully-functional C++ and Python frameworks.
  • Moose - Multiscale Object-Oriented Simulation Environment. It is designed to simulate neural systems ranging from subcellular components and biochemical reactions to complex models of single neurons, circuits, and large networks.
  • Nengo - Python package for building, testing, and deploying spiking neural networks.
  • Nest - NEST is a simulator for spiking neural network models that focuses on the dynamics, size and structure of neural systems rather than on the exact morphology of individual neurons.
  • NetPyNE - Python package to facilitate the development, simulation, parallelization, analysis, and optimization of biological neuronal networks using the NEURON simulator.
  • Neural Circuit Policies - Neural Circuit Policies (NCPs) are designed sparse recurrent neural networks loosely inspired by the nervous system of the organism C. elegans. The goal of this package is to making working with NCPs in PyTorch and keras as easy as possible.
  • NEURON - The NEURON simulation environment is used in laboratories and classrooms around the world for building and using computational models of neurons and networks of neurons.
  • Norse - A deep learning library for spiking neural networks. Deep learning Python library used for simulating spiking neural networks that leverages PyTorch with bio-inspired neural networks. Norse is a community-driven project, encouraging community contributions and development.
  • PeleNet - Reservoir computing framework for Loihi.
  • PyNN - Python package for simulator-independent specification of neuronal network models.
  • PySNN - Spiking neural network (SNN) framework written on top of PyTorch for efficient simulation of SNNs both on CPU and GPU.
  • Rockpool - Rockpool is designed to let you design, simulate, train and test dynamical neural networks, which include explicit temporal dynamics and simulation of time. Rockpool created by SynSense (see below) and supports SynSense neuromorphic hardware. Rockpool allows to build networks, simulate, train, test, and deploy them in simulation or event-driven neuromorphic compute hardware. Rockpool provides layers with many simulation backends, including Brian2, NEST, Torch, JAX, Numba, and raw NumPy. It is not designed for detailed simulation of biological networks.
  • Sinabs - Open source PyTorch based library, developed to design and implement Spiking Convolutional Neural Networks. Created by SynSense. The library implements several layers that are spiking equivalents of CNN layers. In addition it provides support to import CNN models implemented in Keras conveniently to test their spiking equivalent implementation.
  • SNN Torch - snnTorch is designed to be intuitively used with PyTorch, as though each spiking neuron were simply another activation in a sequence of layers. It is therefore agnostic to fully-connected layers, convolutional layers, residual connections, etc.
  • SPAIC - Spike-based artificial intelligence computing platform.
  • spikeflow - Spiking neural networks in tensorflow.
  • SpikingJelly - Open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
  • Spyx - compact spiking neural network library built on top of DeepMind's Haiku package. Spyx promises the flexibility and extensibility offered by PyTorch-based SNN libraries while enabling extremely efficient training on high-performance hardware at speeds comparable to or faster than SNN frameworks that have custom CUDA implementataions.
  • The HBP Neuromorphic Computing Platform - Part of the EBRAINS research infrastructure. The EBRAINS infrastructure is created by the Human Brain Project (HBP).

ANN2SNN Converters

  • snn_toolbox - The SNN conversion toolbox (SNN-TB) is a framework to transform rate-based artificial neural networks into spiking neural networks, and to run them using various spike encodings.

Robotic Toolkits

  • DART - Dynamic Animation and Robotics Toolkit.

Datasets and Dataset Tools

  • AEStream - sends event-based data from A to B. AEStream is both a command-line tool an a C++/Python library with built-in GPU-acceleration for use with PyTorch, and Jax. It supports reading and writing from files, event cameras, network protocols, and visualization tools.
  • Tonic - Tonic is a tool created by SynSense, to facilitate the download, manipulation and loading of event-based/spike-based data. It's like PyTorch Vision but for neuromorphic data. Tonic provides publicly available event-based vision and audio datasets and event transformations. The package is fully compatible with PyTorch Vision/Audio, giving you the flexibility you need.

Computational Neuroscience Software

  • BrainPy - Framework for computational neuroscience and brain-inspired computation based on the Just-In-Time (JIT) compilation (built on top of JAX, Numba, and other JIT compilers). It provides an integrative ecosystem for brain dynamics programming, including brain dynamics building, simulation, training, analysis, etc.

Institutes and Groups

Motiv NT

AltAI NPU developers.

The Neuromorphic Vision and Natural Computation Team

Team, based at the Institut de la Vision in Paris.

Brainchip

Akida NPU developers.

Open Neuromorphic

Neuromorphic Computing and Engineering Community provides:

  • Educational content to get you started with the neuromorphic engineering.

  • Events about neuromorphic research and software, with contributions from both academia and industry.

  • A curated list of neuromorphc open source software and hardware to make it easier to find the tool you need.

  • A platform for your code. If you wish to create a new repository or migrate your existing code to ONM, please get in touch with us.

  • open-neuromorphic.org - Official site.

SynSense

SynSense focuses on the commercialization of neuromorphic intelligence, based on 20+ years of world-leading experience of University of Zürich and ETH Zürich.

Hardware

Footnotes

Releases

No releases published

Packages

No packages published