This package allows you to easily convert a pre-trained analog neural network (ANN) to a spiking neural network (SNN) for efficient inference on Loihi. Rather than rate coding, we use the timing between two spikes to encode values.
Note that this package is based on nxSDK 0.9.8, a proprietary Intel software package available to the Intel Neuromrophic Research Community. For all other publicly available dependencies, use
pip install -r requirements.txt
We support convolutional, dense and maxpooling layers which are modelled after pyTorch layers. You can experiment with dummy inputs for single and multilayer architectures. For convolutional layers, we support different kernel sizes, strides, padding, groups and skip connections, which allows to replicate most modern feedforward ANN architectures.
We include two examples of image classification for MNIST and CIFAR10 using pre-trained ANN models. If you want to train your own ANN, have a look at the CNN folder.
to check that everything is working, run the following terminal command from the main directory:
SLURM=1 python -m pytest -s -p no:warnings