bindsnet  by BindsNET

PyTorch package for simulating spiking neural networks (SNNs)

created 7 years ago
1,602 stars

Top 26.7% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

BindsNET is a Python library for simulating spiking neural networks (SNNs) with a focus on biologically inspired machine learning and reinforcement learning. It targets researchers and developers working with SNNs, offering a PyTorch-based framework for efficient simulation on CPUs and GPUs.

How It Works

BindsNET approximates spiking neuron dynamics by converting differential equations into difference equations solved at small time intervals (dt ≈ 1ms) within PyTorch. This approach leverages PyTorch's torch.Tensor for GPU acceleration and allows repurposing of torch.nn.functional for SNN architectures. It supports biologically plausible learning rules like Spike-Timing-Dependent Plasticity (STDP) for weight modification.

Quick Start & Requirements

  • Install via pip: pip install git+https://github.com/BindsNET/bindsnet.git or pip install . from source.
  • Python version: >=3.9,<3.12.
  • OpenAI Gym integration requires separate installation.
  • Docker image available.
  • Example: cd examples/mnist; python eth_mnist.py
  • Documentation: https://github.com/BindsNET/bindsnet (README links to docs)

Highlighted Details

  • Benchmarked against BRIAN2, PyNEST, ANNarchy, and BRIAN2genn, claiming superior performance by leveraging PyTorch's hardware utilization.
  • Supports unsupervised, supervised, and reinforcement learning paradigms with SNNs.
  • Implements STDP for synaptic plasticity.
  • Provides example scripts for various ML/RL tasks.

Maintenance & Community

  • Key contributors include Hananel Hazan (main maintainer), Daniel Saunders, and Christopher Earl.
  • Citation provided for research use.

Licensing & Compatibility

  • License: GNU Affero General Public License v3.0 (AGPL-3.0).
  • AGPL-3.0 is a strong copyleft license, requiring derivative works to also be open-sourced under AGPL-3.0, potentially impacting commercial or closed-source integration.

Limitations & Caveats

The AGPL-3.0 license may impose significant restrictions on commercial use or integration into proprietary software. The README mentions some tests may fail if OpenAI Gym is not installed.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
0
Star History
35 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.