fangwei123456/spikingjelly

SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.

何を解決するか

SpikingJellyは、スパイキングニューラルネットワーク(SNN)の開発、学習、デプロイを可能にするPyTorchネイティブなフレームワークです。従来の人工ニューラルネットワーク(ANN)と神経形態計算の間のギャップを埋め、大規模なSNNの学習、推論、ハードウェアデプロイを可能にするツールを提供します。

どう動くか

PyTorchに直接統合されており、ユーザーが馴染みのあるモデル構築パターンを使ってSNNを定義できます。複数のアクセラレーションバックエンド(torchcupytriton)をサポートし、ニューロンの実行を最適化します。また、ANNからSNNへの変換ユーティリティ、混合精度学習(例:fp8)、スパイクの圧縮機能を提供し、大規模な学習におけるメモリ使用量を削減します。

対象ユーザー

神経形態知能、イベントベースのビジョン、エネルギー効率の高い機械学習モデルに取り組むAI研究者および開発者向けです。

特徴

  • PyTorchネイティブ: PyTorchの構造を模倣した初心者向けAPIを使用します。
  • 高性能: 複数のバックエンド(torchcupytriton)をサポートし、torch.compileと互換性があります。
  • 神経形態データのサポート: N-MNISTやDVS128 Gestureなど、多数のイベントベースデータセットを内蔵サポートしています。
  • デプロイ対応: NIR、Lava、Lynxi向けの交換インターフェースを備えており、シミュレーションから神経形態ハードウェアへのモデル移行を可能にします。
  • スケーラビリティツール: 大規模なSNNシステム向けに分散実行とメモリ効率の良い学習をサポートします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト