All Projects → bamsumit → Slayerpytorch

bamsumit / Slayerpytorch

Licence: gpl-3.0
PyTorch implementation of SLAYER for training Spiking Neural Networks

Projects that are alternatives of or similar to Slayerpytorch

Covid 19 Eda Tutorial
This tutorial's purpose is to introduce people to the [2019 Novel Coronavirus COVID-19 (2019-nCoV) Data Repository by Johns Hopkins CSSE](https://github.com/CSSEGISandData/COVID-19) and how to explore it using some foundational packages in the Scientific Python Data Science stack.
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Machine Learning
python,机器学习笔记,machine learning,nlp
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Www old.julialang.org
Julia Project web site (Old)
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Practicaldl
A Practical Guide to Deep Learning with TensorFlow 2.0 and Keras materials for Frontend Masters course
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Machine Learning
🌎 machine learning tutorials (mainly in Python3)
Stars: ✭ 1,924 (+1182.67%)
Mutual labels:  jupyter-notebook
Deeplab v2
基于v2版本的deeplab,使用VGG16模型,在VOC2012,Pascal-context,NYU-v2等多个数据集上进行训练
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Cpndet
Corner Proposal Network for Anchor-free, Two-stage Object Detection
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Time Series Forecasting Of Amazon Stock Prices Using Neural Networks Lstm And Gan
Project analyzes Amazon Stock data using Python. Feature Extraction is performed and ARIMA and Fourier series models are made. LSTM is used with multiple features to predict stock prices and then sentimental analysis is performed using news and reddit sentiments. GANs are used to predict stock data too where Amazon data is taken from an API as Generator and CNNs are used as discriminator.
Stars: ✭ 150 (+0%)
Mutual labels:  jupyter-notebook
Forecasting
Time Series Forecasting Best Practices & Examples
Stars: ✭ 2,123 (+1315.33%)
Mutual labels:  jupyter-notebook
Pyomogallery
A collection of Pyomo examples
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Machinehack
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Project kojak
Training a Neural Network to Detect Gestures and Control Smart Home Devices with OpenCV in Python
Stars: ✭ 147 (-2%)
Mutual labels:  jupyter-notebook
Phonetic Similarity Vectors
Source code to accompany my paper "Poetic sound similarity vectors using phonetic features"
Stars: ✭ 148 (-1.33%)
Mutual labels:  jupyter-notebook
Covid19
Analyses about the COVID-19 virus
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Testovoe
Home assignments for data science positions
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook
Covid19 inference forecast
Stars: ✭ 148 (-1.33%)
Mutual labels:  jupyter-notebook
Pytorch Tutorials Kr
🇰🇷PyTorch에서 제공하는 튜토리얼의 한국어 번역을 위한 저장소입니다. (Translate PyTorch tutorials in Korean🇰🇷)
Stars: ✭ 148 (-1.33%)
Mutual labels:  jupyter-notebook
Person Reid Tiny Baseline
Open source person re-identification in Pytorch
Stars: ✭ 150 (+0%)
Mutual labels:  jupyter-notebook
Transformers Ru
A list of pretrained Transformer models for the Russian language.
Stars: ✭ 150 (+0%)
Mutual labels:  jupyter-notebook
Carnd Mercedes Sf Utilities
Tools for Sensor Fusion processing.
Stars: ✭ 149 (-0.67%)
Mutual labels:  jupyter-notebook

README

This package is a PyTorch port of the original Spike LAYer Error Reassignment (SLAYER) framework for backpropagation based spiking neural networks (SNNs) learning. The original implementation is in C++ with CUDA and CUDNN. It is available at https://bitbucket.org/bamsumit/slayer .

A brief introduction of the method is in the following video.

The base description of the framework has been published in NeurIPS 2018. The final paper is available here. The arXiv preprint is available here.

Citation

Sumit Bam Shrestha and Garrick Orchard. "SLAYER: Spike Layer Error Reassignment in Time." In Advances in Neural Information Processing Systems, pp. 1417-1426. 2018.

@InCollection{Shrestha2018,
  author    = {Shrestha, Sumit Bam and Orchard, Garrick},
  title     = {{SLAYER}: Spike Layer Error Reassignment in Time},
  booktitle = {Advances in Neural Information Processing Systems 31},
  publisher = {Curran Associates, Inc.},
  year      = {2018},
  editor    = {S. Bengio and H. Wallach and H. Larochelle and K. Grauman and N. Cesa-Bianchi and R. Garnett},
  pages     = {1419--1428},
  url       = {http://papers.nips.cc/paper/7415-slayer-spike-layer-error-reassignment-in-time.pdf},
}

What is this repository for?

  • For learning weight (delay learning not yet implemented) parameters of a multilayer spiking neural network.
  • Natively handles multiple spikes in each layer and error backpropagation through the layers.
  • Version 0.1

Requirements

Python 3 with the following packages installed:

  • PyTorch (tested with version 1.0.1.post2)
  • numpy
  • pyyaml

A CUDA enabled GPU is required for training any model. No plans on CPU only implementation yet. The software has been tested with CUDA libraries version 9.2 and GCC 7.3.0 on Ubuntu 18.04

Installation

The repository includes C++ and CUDA code that has to be compiled and installed before it can be used from Python, download the repository and run the following command to do so:

python setup.py install

To test the installation:

cd test

python -m unittest

Documentation

The complete documentation is available at https://bamsumit.github.io/slayerPytorch .

Examples

Example implementations can be found inside Examples folder.

  • Run example MLP implementation

    >>> python nmnistMLP.py

  • Run example CNN implementation

    >>> python nmnistCNN.py

Contribution

Contact

For queries contact Sumit.

License & Copyright

Copyright 2018 Sumit Bam Shrestha SLAYER-PyTorch is free software: you can redistribute it and/or modoify it under the terms of GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

SLAYER-PyTorch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License SLAYER. If not, see http://www.gnu.org/licenses/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].