fangwei123456/spikingjelly

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

해결하는 문제

SpikingJelly은 개발, 훈련, 배포를 위한 PyTorch 기반의 스파이크 신경망(SNN) 프레임워크를 제공합니다. 기존 인공 신경망(ANN)과 생체 신경망 컴퓨팅 사이의 격차를 메우며, 대규모 SNN 훈련, 추론 및 하드웨어 배포를 위한 도구를 제공합니다.

작동 방식

PyTorch와 직접 통합되어, 사용자가 익숙한 모델 구축 패턴을 사용해 SNN을 정의할 수 있습니다. 프레임워크는 torch, cupy, triton과 같은 여러 가속 백엔드를 지원하여 뉴런 실행을 최적화합니다. 또한 ANN에서 SNN으로의 변환, 혼합 정밀도 훈련(fp8 등), 스파이크 압축 기능을 제공하여 대규모 훈련 중 메모리 사용량을 줄입니다.

대상 사용자

생체 신경망 지능, 이벤트 기반 비전, 에너지 효율적인 머신러닝 모델을 개발하는 AI 연구자 및 개발자에게 적합합니다.

주요 특징

  • PyTorch 기반: PyTorch 구조를 모방한 초보자 친화적인 API를 사용합니다.
  • 고성능: 여러 백엔드(torch, cupy, triton)를 지원하며, torch.compile과 호환됩니다.
  • 생체 신경망 데이터 지원: N-MNIST 및 DVS128 Gesture와 같은 다양한 이벤트 기반 데이터셋을 내장 지원합니다.
  • 배포 준비 완료: NIR, Lava, Lynxi와의 교환 인터페이스를 제공하여 시뮬레이션에서 생체 신경망 하드웨어로 모델을 이동할 수 있습니다.
  • 확장 도구: 대규모 SNN 시스템을 위한 분산 실행 및 메모리 효율적인 훈련 기능을 포함합니다.

"SpikingJelly은 SNN 연구를 위한 강력한 도구입니다. PyTorch와의 완벽한 통합과 뛰어난 성능으로, 대규모 모델 훈련과 하드웨어 배포를 쉽게 할 수 있습니다." — @spikingjelly

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트