SnnTorch

Focuses on gradient-based training of SNNs, based on PyTorch for GPU acceleration and gradient computation.

snnTorch

Overview

snnTorch is a Python package designed for spiking neural network simulations and extends PyTorch’s capabilities to spiking neurons, offering pre-designed models within the PyTorch framework. It aims to bridge the gap between the brain’s efficient spike-based information encoding and modern deep learning techniques. snnTorch includes components for spiking neuron libraries deeply integrated with autograd, export functionalities for cross-compatibility, arithmetic operations on spikes, libraries for spike generation and data conversion, visualization tools, surrogate gradient functions, and utility functions for datasets.

The framework allows seamless integration of spiking neurons into PyTorch’s computational graph, treating them as recurrent units. It supports various neuron models represented by recursive functions, eliminating the need to store membrane potential traces for all neurons, which facilitates the training of both small and large networks on CPU and GPU. Users can benefit from GPU acceleration in the same way as PyTorch, provided network models and tensors are loaded onto CUDA.

snnTorch is continually maintained by the UCSC Neuromorphic Computing Group and invites community contributions. Its source code is published under the MIT License, and its documentation is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. The project emphasizes ease of use, efficiency, and extendability, positioning it as a valuable tool for researchers and practitioners interested in exploring and advancing the field of spiking neural networks.

Can you contribute tutorial guides or case studies?

Get Involved with ONM

TrueNorth: A Deep Dive into IBM's Neuromorphic Chip Design

TrueNorth: A Deep Dive into IBM's Neuromorphic Chip Design

  • Fabrizio Ottati

Explore the innovative TrueNorth neuromorphic chip, its event-driven architecture, low power operation, massive parallelism, real-time capabilities, and scalable design.

NorthPole, IBM's latest Neuromorphic AI Hardware

NorthPole, IBM's latest Neuromorphic AI Hardware

  • Fabrizio Ottati

Translating the NorthPole paper from IBM to human language.

Efficient Compression for Event-Based Data in Neuromorphic Applications

Efficient Compression for Event-Based Data in Neuromorphic Applications

  • Gregor Lenz, Fabrizio Ottati, Alexandre Marcireau

Discover methods to efficiently encode and store event-based data from high-resolution event cameras, striking a balance between file size and fast retrieval for spiking neural network training.