Skip to content

byin-cwi/Efficient-spiking-networks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaptive (SRNN) Spiking Recurrent Neural network

Update: 'upload Truncated-BPTT code to speed up the training'


This code implements the adaptive spiking recurrent network with learnable parameters on Pytorch for various tasks. This is scientific software, and as such subject to many modifications; we aim to further improve the software to become more user-friendly and extendible in the future.

For those wanting to try it out: The best place to start is the Jupyter notebook. It’s a quick demonstration of spiking neural networks. This is what you need:

  1. A working version of python and Pytorch This should be easy: either use the Google Colab facilities, or do a simple installation on your laptop could probabily using pip. (Start Locally | PyTorch)

  2. The datasets:

    1. ECG: The original QTDB dataset was downloaded from PhysioNet. The encoded dataset is attached in /data/ folder
    2. (P)S-MNIST: This dataset can easily be found in torchvision.datasets.MNIST
    3. SHD and SSC: the Spiking Heidelberg dataset can be downloaded from the official sit
    4. SoLi dataset: The official dataset can be easily downloaded and other necessary information is well documented at the official gitGitHub - simonwsw/deep-soli: Gesture Recognition Using Neural Networks with Google’s Project Soli Sensor
    5. Google Speech Commands Dataset
    6. TIMIT Acoustic-Phonetic Continuous Speech Corpus can be found here: LDC (https://catalog.ldc.upenn.edu/LDC93S1)
  3. Pre-requisites

  1. Code running
  • Data preprocessing. The datasets(ECG,SHD,SSC,SoLi,TIMIT) are required to arrange the dataset for further training. ‘’’ mkdir data python generate_dataset.py ‘’’ Note that you can also change the sampling frequency to generate a higher precision dataset.
  • Model training. ‘’’ mkdir model python train.py ‘’’
  • Visualization of the results(Demo). The results can be visualized by [Jupyter Notebook](Project Jupyter | Home)
  • Pre-trained models are attached in the folder of each dataset. Because the training takes a quite long time and

Finally, we’d love to hear from you if you have any comments or suggestions.

References

[1]. Bojian Yin, Federico Corradi, Sander M. Bohté. Accurate and efficient time-domain classification with adaptive spiking recurrent neural networks

[2]. Bojian Yin, Federico Corradi, Sander M. Bohté. Effective and efficient computation with multiple-timescale spiking recurrent neural networks

About

Accurate and efficient Spiking recurrent networks on ECG,SHD,SSC,SOLI,(p)SMNIST,TIMIT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published