SynSense Neuromorphic Toolchain
SynSense Neuromorphic Toolchain
We are making these tools available to the neuromorphic research community as part of our open-source software commitment. We hope this will help the community open up new use cases and new research applications.
Rockpool
Rockpool is an open source Python package for developing signal processing applications with spiking neural networks.
Rockpool allows you 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. Rockpool is designed to make machine learning based on SNNs easier. It is not designed for detailed simulation of biological networks.
Sinabs
Sinabs is an open source PyTorch based library, developed to design and implement Spiking Convolutional Neural Networks (SCNNs).
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.
Samna
Samna is the developer interface to the SynSense toolchain and run-time environment for interacting with all SynSense devices.
Developed towards efficiency and to be user-friendly, a Python API is available with the core running in C++. It is possible to work with neuromorphic devices professionally and elegantly. Samna also features an event-based stream filter system that allows real-time, multi-branch processing of the event-based stream coming in or out from the device. With an integration of a just-in-time compiler in Samna, the flexibility of this filter system has been taken to an even higher dimension, which supports adding user-defined filter functions at run-time to meet the requirements of many different scenarios.