fangwei123456/spikingjelly
SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
解決的問題
SpikingJelly 提供了一個原生於 PyTorch 的框架,用於開發、訓練和部署脈衝神經網絡(SNN)。它透過提供大規模 SNN 訓練、推論和硬體部署的工具,彌補了傳統人工神經網絡(ANN)與神經形態計算之間的差距。
工作原理
它直接整合至 PyTorch,讓使用者能使用熟悉的模型建構模式來定義 SNN。該框架支援多種加速後端——包括 torch、cupy 和 triton——以優化神經元執行。同時,它還提供 ANN 轉 SNN 的工具、混合精度訓練(例如 fp8)以及脈衝壓縮功能,以減少大規模訓練過程中的記憶體使用量。
適用對象
專為致力於神經形態智能、事件驅動視覺和能源效率機器學習模型的 AI 研究人員與開發者設計。
主要特色
- 原生 PyTorch: 使用對初學者友好的 API,結構與 PyTorch 相似。
- 高性能量產: 支援多種後端(
torch、cupy、triton),並與torch.compile兼容。 - 神經形態資料支援: 內建支援多種事件驅動資料集,例如 N-MNIST 和 DVS128 Gesture。
- 可部署性: 提供與 NIR、Lava 和 Lynxi 的交換介面,可將模型從模擬環境轉移到神經形態硬體。
- 擴展工具: 包含分散式執行與記憶體效率訓練工具,適用於大規模 SNN 系統。
"SpikingJelly 讓神經形態計算變得更易於使用,特別是對於熟悉 PyTorch 的開發者。" — @zhaoyu1997
相關
- 專案
- 專案
- 專案
- 專案
- 專案