biphasic / Quartz-on-Loihi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Quartz

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.

Prerequisites

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

Supported Layers

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.

Classification Examples

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.

Run tests

to check that everything is working, run the following terminal command from the main directory:

SLURM=1 python -m pytest -s -p no:warnings

About


Languages

Language:Jupyter Notebook 56.9%Language:Python 41.6%Language:C 1.5%