bamsumit/slayerPytorch
PyTorch implementation of SLAYER for training Spiking Neural Networks
What it solves
It addresses the challenge of training multilayer spiking neural networks (SNNs) by enabling the learning of synaptic weights and axonal delay parameters through backpropagation.
How it works
It is a PyTorch port of the SLAYER (Spike Layer Error Reassignment in Time) framework. The system natively handles multiple spikes per layer and implements error backpropagation through the layers to optimize network parameters.
Who it’s for
Researchers and developers working with spiking neural networks who want to implement and train these models using PyTorch and CUDA-enabled GPUs.
Highlights
- PyTorch implementation of the SLAYER framework.
- Supports learning of both synaptic weights and axonal delays.
- Natively handles multiple spikes per layer.
- Includes example implementations for Multi-Layer Perceptrons (MLP) and Convolutional Neural Networks (CNN).
Related
- Project
BindsNET/bindsnetBindsNET is a Python library for simulating spiking neural networks using PyTorch. It simplifies brain-inspired machine learning by converting neuron dynamics into difference equations and supporting learning rules like STDP, enabling experiments in ML and RL without low-level simulation code.
- Project
Lightning-AI/pytorch-lightningA deep learning framework that abstracts away the engineering boilerplate of PyTorch, enabling researchers to pretrain and finetune AI models at scale across various hardware.
- Project
pytorch/pytorchPyTorch is an open‑source Python library that offers GPU‑accelerated tensor operations and a dynamic, tape‑based autograd system for building and training deep neural networks. It integrates tightly with Python, supports extensions in C/C++ and other languages, and provides fast, low‑overhead execution on CPUs, NVIDIA GPUs, AMD ROCm, and Intel GPUs.
- Project
TorchSpatiotemporal/tslA PyTorch-based library for neural spatiotemporal forecasting and data processing, focusing on Graph Neural Networks to simplify model prototyping and benchmarking.
- Project
fangwei123456/spikingjellySpikingJelly is a PyTorch‑native library for building, training, and deploying spiking neural networks. It provides neuron modules, surrogate‑gradient tools, dataset loaders for neuromorphic data, automatic backend selection (Torch/Triton/native CUDA), mixed‑precision support, and export interfaces to neuromorphic hardware. Installable via PyPI (Python ≥ 3.11, PyTorch ≥ 2.6) with optional CUDA extensions for high performance. Licensed under Apache‑2.0.