Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/BICLab/Attention-SNN
Offical implementation of "Attention Spiking Neural Networks" (IEEE T-PAMI2023)
https://github.com/BICLab/Attention-SNN
attention-mechanism dynamic-neural-network spiking-neural-networks
Last synced: 3 months ago
JSON representation
Offical implementation of "Attention Spiking Neural Networks" (IEEE T-PAMI2023)
- Host: GitHub
- URL: https://github.com/BICLab/Attention-SNN
- Owner: BICLab
- License: mit
- Created: 2023-07-09T14:45:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-08T12:03:40.000Z (7 months ago)
- Last Synced: 2024-04-17T09:13:32.354Z (7 months ago)
- Topics: attention-mechanism, dynamic-neural-network, spiking-neural-networks
- Language: Python
- Homepage: https://ieeexplore.ieee.org/abstract/document/10032591
- Size: 254 KB
- Stars: 41
- Watchers: 1
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-yolo-object-detection - Attention-SNN - SNN?style=social"/> : Offical implementation of "Attention Spiking Neural Networks" (**[IEEE TPAMI 2023](https://ieeexplore.ieee.org/abstract/document/10032591)**) (Applications)
- awesome-yolo-object-detection - Attention-SNN - SNN?style=social"/> : Offical implementation of "Attention Spiking Neural Networks" (**[IEEE TPAMI 2023](https://ieeexplore.ieee.org/abstract/document/10032591)**) (Applications)
README
# [Attention Spiking Neural Networks](https://ieeexplore.ieee.org/document/10032591)
# [Attention Spiking Neural Networks - Supplementary Materials](https://github.com/BICLab/Attention-SNN/issues/3)
## **Requirements**
1. Python 3.7.4
2. PyTorch 1.7.1
3. tqdm 4.56.0
4. numpy 1.19.2## **Instructions**
### 1. DVS128 Gesture1. Download [DVS128 Gesture](https://www.research.ibm.com/dvsgesture/) and put the downloaded dataset to /MA_SNN/DVSGestures/data, then run /MA_SNN/DVSGestures/data/DVS_Gesture.py.
```
MA_SNN
├── /DVSGestures/
│ ├── /data/
│ │ ├── DVS_Gesture.py
│ │ └── DvsGesture.tar.gz
```
2. Change the values of T and dt in /MA_SNN/DVSGestures/CNN/Config.py then run the tasks in /MA_SNN/DVSGestures.eg:
```
python Att_SNN_CNN.py
```
3. View the results in /MA_SNN/DVSGestures/CNN/Result/.### 2. CIFAR10-DVS
1. Download [CIFAR10-DVS](https://figshare.com/articles/dataset/CIFAR10-DVS_New/4724671/2) and processing dataset using official matlab program, then put the result to /MA_SNN/CIFAR10DVS/data.
```
MA_SNN
├── /CIFAR10DVS/
│ ├── /data/
│ │ ├── /airplane/
│ │ | ├──0.mat
│ │ | ├──1.mat
│ │ | ├──...
│ │ ├──automobile
│ │ └──...
```
2. Change the values of T and dt in /MA_SNN/CIFAR10DVS/CNN/Config.py then run the tasks in /MA_SNN/CIFAR10DVS.eg:
```
python Att_SNN.py
```
3. View the results in /MA_SNN/CIFAR10DVS/CNN/Result/.### 3. DVSGait Dataset
1. Download [DVSGait Dataset] and put the downloaded dataset to /MA_SNN/DVSGait/data.2. Change the values of T and dt in /MA_SNN/DVSGait/CNN/Config.py then run the tasks in /MA_SNN/DVSGait.
eg:
```
python Att_SNN_CNN.py
```
3. View the results in /MA_SNN/DVSGait/CNN/Result/.### 4. ImageNet Dataset
We adopt the MS-SNN (https://github.com/Ariande1/MS-ResNet) as the residual spiking neural network backbone.
1. Download [ImageNet Dataset] and set the downloaded dataset path in utils.py.
2. then run the tasks in /Att_Res_SNN.eg:
```
python -m torch.distributed.launch --master_port=[port] --nproc_per_node=[node_num] train_amp.py -net [model_type] -b [batchsize] -lr [learning_rate]
```3. View the results in /checkpoint and /runs.
### 5. Extra
1. The implementation of Att-VGG-SNN in https://github.com/ridgerchu/SNN_Attention_VGG
2. /module/Attention.py defines the Attention layer and /module/LIF.py,LIF_Module.py defines LIF module.
3. The CSA-MS-ResNet104 model is available at https://pan.baidu.com/s/1Uro7IVSerV23OKbG8Qn6pQ?pwd=54tl (Code: 54tl).
## **Citation**
```
@ARTICLE{10032591,
author={Yao, Man and Zhao, Guangshe and Zhang, Hengyu and Hu, Yifan and Deng, Lei and Tian, Yonghong and Xu, Bo and Li, Guoqi},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Attention Spiking Neural Networks},
year={2023},
volume={45},
number={8},
pages={9393-9410},
doi={10.1109/TPAMI.2023.3241201}}
```