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。該框架支援多種加速後端——包括 torchcupytriton——以優化神經元執行。同時,它還提供 ANN 轉 SNN 的工具、混合精度訓練(例如 fp8)以及脈衝壓縮功能,以減少大規模訓練過程中的記憶體使用量。

適用對象

專為致力於神經形態智能、事件驅動視覺和能源效率機器學習模型的 AI 研究人員與開發者設計。

主要特色

  • 原生 PyTorch: 使用對初學者友好的 API,結構與 PyTorch 相似。
  • 高性能量產: 支援多種後端(torchcupytriton),並與 torch.compile 兼容。
  • 神經形態資料支援: 內建支援多種事件驅動資料集,例如 N-MNIST 和 DVS128 Gesture。
  • 可部署性: 提供與 NIR、Lava 和 Lynxi 的交換介面,可將模型從模擬環境轉移到神經形態硬體。
  • 擴展工具: 包含分散式執行與記憶體效率訓練工具,適用於大規模 SNN 系統。

"SpikingJelly 讓神經形態計算變得更易於使用,特別是對於熟悉 PyTorch 的開發者。" — @zhaoyu1997

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案