Multi-Level Firing with Spiking DS-ResNet: Enabling Better and Deeper Directly-Trained Spiking Neural Networks
This repository contains Python implementation of MLF & spiking DS-ResNet.
If you find this repository useful, please consider citing the following paper:
@inproceedings{lang2022multi, title = {Multi-Level Firing with Spiking DS-ResNet: Enabling Better and Deeper Directly-Trained Spiking Neural Networks}, author = {Feng, Lang and Liu, Qianhui and Tang, Huajin and Ma, De and Pan, Gang}, booktitle = {Proceedings of the Thirty-First International Joint Conference on Artificial Intelligence, {IJCAI-22}}, pages = {2471--2477}, year = {2022}, doi = {10.24963/ijcai.2022/343}, url = {https://doi.org/10.24963/ijcai.2022/343}, }
-
Download link of DVS-gesture: https://research.ibm.com/interactive/dvsgesture/. Put file
DvsGesture.tar.gz
in the path./data/DVS_Gesture/source_DvsGesture/
, then unzipDvsGesture.tar.gz
(tar -xzvf DvsGesture.tar.gz
). -
Download link of CIFAR10-DVS: https://figshare.com/articles/dataset/CIFAR10-DVS_New/4724671/2. Put file
airplane.zip
~horse.zip
in the path./data/DVS_CIFAR10/source_DvsCIFAR10/
, then unzipairplane.zip
~horse.zip
. -
CIFAR10 dataset can be downloaded online.
- python 3.7.10
- numpy 1.19.5
- torch 1.9.0+cu111
- torchvision 0.10.0+cu111
- tensorboardX 2.4
- h5py 3.3.0
DVS-gesture and CIFAR10-DVS need to be pre-processed. The syntax is as follow,
python DVS_CIFAR10_preprocess.py
python DVS_Gesture_preprocess.py
To train a new model, the basic syntax is like:
python train_for_cifar10.py
python train_for_gesture.py
python train_for_dvscifar10.py