Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 1.92 KB

File metadata and controls

69 lines (48 loc) · 1.92 KB

Sparser Spiking Activity can be Better: Feature Refine-and-Mask Spiking Neural Network for Event-based Visual Recognition

Installation

  1. Python 3.7.4
  2. PyTorch 1.7.1
  3. numpy 1.19.2
  4. spikingjelly 0.0.0.0.12
  5. nni 2.5

Please see requirements.txt for more requirements.

Example

DVS128 Gesture

  1. Download DVS128 Gesture and put the downloaded dataset to /DVS128_Gesture/data, then run /DVS128_Gesture/data/DVS_Gesture.py.
/DVS128_Gesture/
│  ├── /data/
│  │  ├── DVS_Gesture.py
│  │  └── DvsGesture.tar.gz
  1. Change the values of T and dt in /DVS128_Gesture/RM/Config.py , /DVS128_Gesture/CRM/Config.py or /DVS128_Gesture/TRM/Config.py then run the tasks in /DVS128 Gesture.

eg:

python RM_main.py
  1. View the results in /DVS128_Gesture/RM/Result//DVS128_Gesture/TRM/Result/ or /DVS128_Gesture/CRM/Result/.

Extra

  1. /module/RM.py defines RM,TRM,CRM layer and /module/LIF.py, LIF_Module.py defines LIF module.
  2. Explain again if the parameters in the Config.py are different from the paper name
conifg.c_sparsity_ratio = 1 - beat_c
config.t_sparsity_ratio = 1 - beat_t
  1. If it produces an error like
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

, please reduce the batch-size selected for this experimence.

see pytorch/pytorch#32564 (comment) for more info.

Citation

@article{yao2023sparser,
  title={Sparser spiking activity can be better: Feature Refine-and-Mask spiking neural network for event-based visual recognition},
  author={Yao, Man and Zhang, Hengyu and Zhao, Guangshe and Zhang, Xiyu and Wang, Dingheng and Cao, Gang and Li, Guoqi},
  journal={Neural Networks},
  volume={166},
  pages={410--423},
  year={2023},
  publisher={Elsevier}
}