SNNAX -- Spiking Neural Networks in JAX
<|reference_start|>SNNAX -- Spiking Neural Networks in JAX: Spiking Neural Networks (SNNs) simulators are essential tools to prototype biologically inspired models and neuromorphic hardware architectures and predict their performance. For such a tool, ease of use and flexibility are critical, but so is simulation speed especially given the complexity inherent to simulating SNN. Here, we present SNNAX, a JAX-based framework for simulating and training such models with PyTorch-like intuitiveness and JAX-like execution speed. SNNAX models are easily extended and customized to fit the desired model specifications and target neuromorphic hardware. Additionally, SNNAX offers key features for optimizing the training and deployment of SNNs such as flexible automatic differentiation and just-in-time compilation. We evaluate and compare SNNAX to other commonly used machine learning (ML) frameworks used for programming SNNs. We provide key performance metrics, best practices, documented examples for simulating SNNs in SNNAX, and implement several benchmarks used in the literature.<|reference_end|>
@article{lohoff2024snnax,
    title={SNNAX -- Spiking Neural Networks in JAX},
    author={Jamie Lohoff, Jan Finkbeiner, Emre Neftci},
    journal={arXiv preprint arXiv:2409.02842},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.02842},
    primaryClass={cs.NE cs.LG}
}