Skip to content

Btorch

A brain-inspired Torch library for neuromorphic research.

Btorch Overview *Image courtesy of @msy79lucky

  • Neuron Models


    LIF, ALIF, GLIF3, and Izhikevich neurons with torch.compile compatibility and heterogeneous parameters.

    Quickstart

  • Connectome Tools


    Sparse connectivity matrices, delay expansion, and Flywire-compatible data handling.

    Connection Conversion

  • Analysis & Visualisation


    Spike train analysis, dynamic metrics, and plotting utilities for large-scale simulations.

    Analysis

  • Tutorials


    Step-by-step guides for building RSNNs, training SNNs, and using dataclass-first configuration.

    Tutorials

Installation

Install from source:

git clone https://github.com/Criticality-Cognitive-Computation-Lab/btorch.git
cd btorch
pip install -e . --config-settings editable_mode=strict

Key Features

  • Stateful Modules: Built-in memory management for spiking neurons
  • Shape Safety: Enhanced dtype and dimension handling for scala and hetergenous parameters
  • torch.compile Ready: Compatible with PyTorch 2.x compilation
  • Sparse Connectivity: First-class support for large sparse matrices
  • Truncated BPTT: Easy gradient truncation for long sequences