fangwei123456/spikingjelly

SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.

What it solves

SpikingJelly provides a PyTorch-native framework for developing, training, and deploying Spiking Neural Networks (SNNs). It bridges the gap between traditional artificial neural networks (ANNs) and neuromorphic computing by offering tools for large-scale SNN training, inference, and hardware deployment.

How it works

It integrates directly with PyTorch, allowing users to define SNNs using familiar model-building patterns. The framework supports multiple acceleration backends—including torch, cupy, and triton—to optimize neuron execution. It also provides utilities for ANN-to-SNN conversion, mixed-precision training (such as fp8), and spike compression to reduce memory usage during large-scale training.

Who it’s for

It is designed for AI researchers and developers working on neuromorphic intelligence, event-based vision, and energy-efficient machine learning models.

Highlights

  • PyTorch-Native: Uses a beginner-friendly API that mirrors PyTorch's structure.
  • High Performance: Supports multiple backends (torch, cupy, triton) and is compatible with torch.compile.
  • Neuromorphic Data Support: Includes built-in support for numerous event-based datasets like N-MNIST and DVS128 Gesture.
  • Deployment Ready: Features exchange interfaces for NIR, Lava, and Lynxi to move models from simulation to neuromorphic hardware.
  • Scaling Tools: Includes distributed execution and memory-efficient training for large-scale SNN systems.

Related

  • Project
  • Project
  • Project
  • Project
  • Project