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.
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.
Define a basic SNN model
Create a PyTorch Sequential model with a LIF spiking neuron.
Before you start
- SpikingJelly installed
- PyTorch available
Steps
Import
nnfromtorchandlayer,neuron, andsurrogatefromspikingjelly.activation_based.Create an
nn.Sequentialcontaininglayer.Flatten().Add
layer.Linear(28 * 28, 10, bias=False).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 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.
| Project | Documented purpose | Platform | Access and requirements |
|---|---|---|---|
| Spikingjelly | Define SNN models using PyTorch-style layers and spiking-neuron components. | Linux, macOS, Windows | 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. |
| Hyperpose | Customize pose-estimation architectures and datasets. | Docker, Linux, macOS, Windows | |
| Multi Task Nlp | Define multiple tasks and their data and model settings in a YAML file. | Linux, macOS, Windows | The project is an open-source library under the Apache-2.0 license, distributed through its public GitHub repository. |
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

