This repository is the official implementation of Temporal Spike Sequence Learning via Backpropagation for Deep Spiking Neural Networks.
- python 3.7
- pytorch
- torchvision
To install requirements:
pip install -r requirements.txt
NMNIST: dataset, preprocessing
Modify the data path and network settings in the config files.
Select the index of GPU in the main.py (0 by default)
$ python main.py -config Networks/config_file.yaml
$ python main.py -config Networks/config_file.yaml -checkpoint checkpoint/ckpt.pth // load the checkpoint
Our proposed method achieves the following performance on :
Network Size | Time Steps | Epochs | Mean | Stddev | Best |
---|---|---|---|---|---|
15C5-P2-40C5-P2-300 | 5 | 100 | 99.50% | 0.02% | 99.53% |
Network Size | Time Steps | Epochs | Mean | Stddev | Best |
---|---|---|---|---|---|
12C5-P2-64C5-P2 | 100 | 100 | 99.35% | 0.03% | 99.40% |
12C5-P2-64C5-P2 | 30 | 100 | 99.23% | 0.05% | 99.28% |
Network Size | Time Steps | Epochs | Mean | Stddev | Best |
---|---|---|---|---|---|
400 − 400 | 5 | 100 | 89.75% | 0.03% | 89.92% |
32C5-P2-64C5-P2-1024 | 5 | 100 | 92.69% | 0.09% | 92.83% |
Network Size | Time Steps | Epochs | Mean | Stddev | Best |
---|---|---|---|---|---|
96C3-256C3-P2-384C3-P2-384C3-256C3-1024-1024 | 5 | 150 | 88.98% | 0.27% | 89.37% |
128C3-256C3-P2-512C3-P2-1024C3-512C3-1024-512 | 5 | 150 | N/A | N/A | 91.41% |