Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. JAX
  3. Spyx

Spyx

MITJupyter Notebookv1.0.0

A compact spiking neural network library built on JAX and Haiku, offering high-performance training via surrogate gradient descent and neuroevolution.

Visit WebsiteGitHubGitHub
137 stars14 forks0 contributors

What is Spyx?

Spyx is a spiking neural network library built on JAX and Haiku, designed for high-performance training of SNNs. It supports surrogate gradient descent and neuroevolution methods, enabling efficient optimization of spiking models for neuromorphic computing and neuroscience research.

Target Audience

Researchers and developers working in neuromorphic computing, computational neuroscience, or machine learning who need efficient tools for training and experimenting with spiking neural networks.

Value Proposition

Spyx offers a unique combination of PyTorch-like flexibility and custom CUDA kernel-level performance, making it ideal for prototyping custom neuron models while achieving state-of-the-art training speeds on GPU hardware.

Overview

Spyx: Spiking Neural Networks in JAX

Use Cases

Best For

  • Training spiking neural networks with surrogate gradient methods
  • Neuroevolution experiments for optimizing SNN architectures
  • Research requiring custom neuron model definitions
  • High-performance SNN training on GPU hardware
  • Prototyping advanced spiking models like SpikingRWKV
  • Benchmarking SNN performance against other frameworks

Not Ideal For

  • Projects running on Google Colab's TPUs due to JAX version incompatibility
  • Teams with limited GPU memory, as Spyx requires storing entire datasets in vRAM for optimal performance
  • Researchers needing immediate, out-of-the-box ANN2SNN conversion or advanced blocks like SpikingRWKV
  • Developers unfamiliar with JAX or Haiku, given the framework's reliance on these tools for setup and usage

Pros & Cons

Pros

Extreme GPU Performance

Leverages JAX's just-in-time compilation and GPU acceleration to achieve high training speeds, with benchmarks showing efficient use similar to custom CUDA kernels.

Flexible Neuron Models

Designed for easy definition and integration of user-defined dynamics, allowing researchers to prototype custom spiking behaviors without deep framework changes, as highlighted in the README.

Dual Training Methods

Supports both surrogate gradient descent and neuroevolution for SNN optimization, providing multiple pathways as evidenced by the included research and master's thesis references.

Modern Development Workflow

Uses uv for package management and includes automated release scripts, facilitating smooth development and deployment with tools like MkDocs for documentation.

Cons

High Hardware Demands

Requires significant GPU vRAM to store entire datasets during training, which can be prohibitive for systems with limited memory or shared resources, as noted in the hardware requirements.

Incomplete Feature Set

Key capabilities like ANN2SNN conversion and SpikingRWKV are listed as planned for the future, meaning current users may face gaps or need to implement these themselves.

Complex Initial Setup

Installation involves separate setup for GPU-accelerated JAX, adding extra steps compared to more integrated libraries, and compatibility issues arise with older TPU versions like on Google Colab.

Frequently Asked Questions

Quick Stats

Stars137
Forks14
Contributors0
Open Issues7
Last commit16 days ago
CreatedSince 2023

Tags

#haiku#ai#neuroscience#jax#deep-learning#gpu-acceleration#spiking-neural-networks#neural-networks#neuromorphic#ml#snn#neuroevolution#machine-learning

Built With

u
uv
M
MkDocs
H
Haiku
J
JAX
P
Python

Links & Resources

Website

Included in

JAX2.1k
Auto-fetched 5 hours ago

Related Projects

ALXALX

Google Research

Stars38,426
Forks8,461
Last commit1 day ago
OryxOryx

Probabilistic reasoning and statistical analysis in TensorFlow

Stars4,421
Forks1,125
Last commit16 days ago
BRAXBRAX

Massively parallel rigidbody physics simulation on accelerator hardware.

Stars3,208
Forks345
Last commit15 days ago
MctxMctx

Monte Carlo tree search in JAX

Stars2,645
Forks208
Last commit15 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub