neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
SpikingJelly는 PyTorch 기반 스파이킹 신경망(SNN)용 오픈소스 딥러닝 프레임워크입니다
SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
개발 도구Python · Jupyter NotebookGitHub @fangwei123456직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗中文 | English
SpikingJelly is a PyTorch-native framework for spiking neural networks (SNNs), with support for large-scale SNN training and inference.
Use uv in an activated virtual environment: Python >=3.11, Torch >=2.6.
First install PyTorch.
| Install | Command |
|---|---|
| PyPI release | uv pip install spikingjelly |
| PyPI pre-release | uv pip install --pre spikingjelly |
| Optional Triton (if missing) | uv pip install "spikingjelly[triton]" |
| Latest development source | uv pip install git+https://github.com/fangwei123456/spikingjelly.git |
Native CUDA (requires a toolchain; available after the corresponding V2 PyPI release):
SJ_BUILD_NATIVE_CUDA=1 uv pip install \
--no-build-isolation --no-binary spikingjelly \
--reinstall-package spikingjelly --no-cache "spikingjelly>=2.0.0"
See the installation guide for prerequisites, decision diagrams, other extras and troubleshooting. Unreleased changes require the development source.
Define an SNN in the same way that you would define any PyTorch model:
from torch import nn
from spikingjelly.activation_based import layer, neuron, surrogate
net = nn.Sequential(
layer.Flatten(),
layer.Linear(28 * 28, 10, bias=False),
neuron.LIFNode(tau=2.0, surrogate_function=surrogate.ATan())
)
Next steps:
| Area | What SpikingJelly provides |
|---|---|
| SNN modeling | Activation-based SNN components: spiking neurons, surrogate gradients, stateful and stateless modules. Predefined SNN models. |
| Training workflows | PyTorch-native training flows, online-learning utilities, and ANN2SNN conversion |
| Performance | automatic Torch/Triton/native CUDA execution, FlexSN for customized neuron kernels, and mixed-precision training utilities (e.g., fp8) |
| Scaling | Memory-efficient training, and distributed training |
| Datasets | Neuromorphic datasets, and data preprocessing pipelines |
| Analysis | FLOPs / SynOps / memory-access profiling, and inference energy estimation |
| Interchange and deployment | NIR, Lava, and Lynxi-oriented exchange interfaces for neuromorphic workflows |
Neuron execution is selected automatically from tensor device and execution path: CPU uses Torch; CUDA eager prefers compatible native CUDA, while Inductor expansion prefers Triton. CUDA Graph retains its pre-capture choice. No public neuron backend argument and no CuPy dependency are required. Low-precision state profiles can use Torch reference execution.
Pure Python wheels include Torch reference and optional Triton execution.
Optional native neuron, fused IF/LIF-Linear and packed/sparse projection builds
are described under Installation. Missing extensions use Torch reference
for projections; fused no-intermediate-spike performance requires the extension.
Use ordinary Linear/Conv plus memopt instead of retired SpikeLinear/SpikeConv.
For large-scale SNN systems, SpikingJelly provides:
memopt)SpikingJelly includes the following event-based and neuromorphic datasets:
Each dataset supports raw event access and frame representations. See the neuromorphic datasets tutorial for the full workflow.
Export SpikingJelly models to neuromorphic hardware or other frameworks:
Development / release policy:
Starting from SpikingJelly V2, release versions follow PEP 440 compatible,
SemVer-style MAJOR.MINOR.PATCH semantics. MAJOR marks compatibility
generations, MINOR adds backward-compatible functionality, and PATCH fixes
bugs. Python package pre-release spelling is used for V2 development releases,
for example 2.0.0.dev0, 2.0.0a1, 2.0.0b1, and 2.0.0rc1.
See CHANGELOG.md for the V2 release changelog.
0.0.0.0.X scheme: odd X tracked development versions on GitHub / OpenI, and even X tracked stable releases published to PyPI.spikingjelly<2.0.0.0.0.14, modules including clock_driven and event_driven were renamed. See Migrate From Old Versions.Historical documentation:
SpikingJelly's project license is Apache-2.0. Third-party attributions and license terms are collected in LICENSES/NOTICE. See the license guide for scope and historical licenses.
Current maintainers (since July 2024):
Previous core maintainers (before July 2024):
The full contributor list is on the contributors page.
The main institutions behind SpikingJelly are Multimedia Learning Group, Institute of Digital Media (NELVT), Peking University and Peng Cheng Laboratory.
We welcome issues, pull requests, documentation improvements, and translations.
Publications using SpikingJelly are listed on the documentation page. The source of truth in this repository is publications.json.
If you use SpikingJelly in your work, please cite:
@article{
doi:10.1126/sciadv.adi1480,
author = {Wei Fang and Yanqi Chen and Jianhao Ding and Zhaofei Yu and Timothee Masquelier and Ding Chen and Liwei Huang and Huihui Zhou and Guoqi Li and Yonghong Tian},
title = {SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence},
journal = {Science Advances},
volume = {9},
number = {40},
pages = {eadi1480},
year = {2023},
doi = {10.1126/sciadv.adi1480},
url = {https://www.science.org/doi/abs/10.1126/sciadv.adi1480},
eprint = {https://www.science.org/doi/pdf/10.1126/sciadv.adi1480}
}