OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Developer Tools & SDKs

Spikingjelly

SpikingJelly is an open-source Python framework built on PyTorch for developing, training and running spiking neural networks. It includes SNN model components, event-based dataset workflows, ANN-to-SNN conversion, performance and analysis utilities, and interfaces for neuromorphic framework exchange.

Independent OpenViST project profile, based on linked sources.

Spikingjelly — OpenViST project profile in AI Developer Tools & SDKs.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use SpikingJelly when a Python and PyTorch workflow needs SNN-specific model components, event-based dataset processing, training utilities or analysis. Consider its exchange interfaces when a workflow also needs to connect with supported neuromorphic frameworks.

Who it is for

  • Researchers prototyping spiking-neural-network models with PyTorch.
  • Machine-learning developers building experiments with neuromorphic or event-based data.
  • Teams exploring SNN training, model analysis or exchange with neuromorphic workflows.

Documented uses

  • Define SNN models using PyTorch-style layers and spiking-neuron components.
  • Train SNNs, including workflows based on event-based datasets.
  • Convert artificial neural networks to spiking neural networks.
  • Profile compute-related measures such as FLOPs, SynOps and memory access, and estimate inference energy.
  • Exchange models through documented NIR, Lava and Lynxi-oriented interfaces.
Before you choose

Requirements & limits

The project is open source under the Apache-2.0 license. Installation instructions specify Python 3.11 or later and Torch 2.6 or later; PyTorch is installed first. The repository describes installation through uv in an activated virtual environment.

  • The documented prerequisites are Python 3.11+ and Torch 2.6+; the README asks users to install PyTorch first.
  • Triton is optional. Native CUDA execution requires a toolchain and a separate build route.
  • Execution backends are selected according to device and execution path rather than through a public neuron-backend argument.
  • The framework covers both SNN modeling and supporting workflows such as dataset preprocessing, profiling and model exchange. Its exchange interfaces serve a different role from model-building components.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Define a basic SNN model

Create a PyTorch Sequential model with a LIF spiking neuron.

Before you start

  • SpikingJelly installed
  • PyTorch available

Steps

  1. Import nn from torch and layer, neuron, and surrogate from spikingjelly.activation_based.

  2. Create an nn.Sequential containing layer.Flatten().

  3. Add layer.Linear(28 * 28, 10, bias=False).

  4. Add neuron.LIFNode(tau=2.0, surrogate_function=surrogate.ATan()) to complete the model.

Expected outcome

A PyTorch Sequential model is defined with a flattening layer, a linear layer, and a LIF spiking neuron.

Guide limitations

  • The documented quick start defines a model but does not show how to provide inputs, run inference, or train it.
COMPARE OPTIONS

Compare options for Model inference and serving

These projects document a common task and share a project role. This is a source-based comparison, not an execution benchmark or a guarantee of interchangeability.

ProjectDocumented purposePlatformAccess and requirements
SpikingjellyDefine SNN models using PyTorch-style layers and spiking-neuron components.Linux, macOS, WindowsThe project is open source under the Apache-2.0 license. Installation instructions specify Python 3.11 or later and Torch 2.6 or later; PyTorch is installed first. The repository describes installation through uv in an activated virtual environment.
HyperposeCustomize pose-estimation architectures and datasets.Docker, Linux, macOS, Windows
Multi Task NlpDefine multiple tasks and their data and model settings in a YAML file.Linux, macOS, WindowsThe project is an open-source library under the Apache-2.0 license, distributed through its public GitHub repository.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
11 October 2026
Original website title
fangwei123456/spikingjelly · Official homepage title · retained in its source language