A curated list of awesome spiking or neuromorphic frameworks, libraries, resources, and other things (i.e. useful robotics simulators and frameworks).
- Spiking and Neuromorphic Frameworks
- ANN2SNN Converters
- Robotic Toolkits
- Datasets and Dataset Tools
- Computational Neuroscience Software
- Institutes and Groups
- Hardware.
- 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).
- 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.
- DART - Dynamic Animation and Robotics Toolkit.
- 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.
- 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.
AltAI NPU developers.
- motivnt.ru - Official site.
Team, based at the Institut de la Vision in Paris.
- www.neuromorphic-vision.com - Official site.
- GitHub repository - Projects code.
Akida NPU developers.
- brainchip.com - Official site.
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 focuses on the commercialization of neuromorphic intelligence, based on 20+ years of world-leading experience of University of Zürich and ETH Zürich.
- www.synsense.ai - Official site.
- Motiv AltAI - AltAI NPU description page.
- Asprinity AML100 - Analog machine learning chips for the lowest always-on system power.
- End-to-End Implementation of Various Hybrid Neural Networks on a Cross-Paradigm Neuromorphic Chip - Paper.
- Brainchip Akida - Akida NPU.
- Intel Loihi 2 - Intel Loihi 2 NPU.
- Leaky Integrate and Fire (LIF) model implementation for FPGA - FPGA example.
- Tianjic - A Unified and Scalable Chip Bridging Spike-Based and Continuous Neural Computation.
- Xylo - SynSense's programmable neuromorphic chip, excels in low-dimensional signal processing. Combines the analog front end that can efficiently provide pre-processing functionality to input analog signals. Xylo is highly re-configurable and scalable, which supports feed-forward, recurrent and reservoir and other complex neural network structure. Seamlessly integrate Xylo with MEMS microphones, thermal sensors, pressure sensors, vibration sensors, IMUs, gyros, PPG sensors, and more.
- Awesome Neuroscience - Computational Neuro Science repository.
- Event-based Vision Resources - Big articles list.