Tool to simulate Spiking Neural Networks
Project description
Nervos
A Spiking Neural Network Simulation Framework
Nervos is a flexible and customizable tool designed to simulate simple Spiking Neural Networks (SNNs). Developed under the supervision of Prof. Sandip Lashkare at IIT Gandhinagar, it provides a platform for experimenting with biological neuron models, learning rules, and hardware constraints.
Documentation: https://nervos.readthedocs.io/
Installation
The simplest way to install nervos is using pip:
pip install nervos
Features
- Biologically-Inspired Models: Implements the Leaky Integrate-and-Fire (LIF) neuron model.
- STDP Learning: Built-in support for Spike-Timing-Dependent Plasticity (STDP) for unsupervised learning.
- Hardware Simulation:
- Synaptic Variability: Simulate read noise in synaptic weights (
enable_synaptic_noise). - Endurance Modeling: Model cycle-dependent weight updates to simulate device aging or non-idealities (
enable_cycle_dependent_weights).
- Synaptic Variability: Simulate read noise in synaptic weights (
- Customizable: Fully configurable parameters for neurons, synapses, and training loops.
- Model Persistence: Save and load trained models and training states.
- Data Loaders: Built-in loaders for MNIST, Iris, and Circles datasets with SNN preprocessing.
Examples
Check out the lib_examples directory for usage scripts and notebooks:
- MNIST Classification: Standard SNN training on MNIST.
- Hardware Variability: Simulating synaptic noise during inference/training.
- Device Endurance: Simulating weight update degradation over time.
- Simple Datasets: Examples for Iris and Circles datasets.
- Single Neuron: Demonstrations of current injection and spiking behavior.
Poster & Paper
- Poster:
./Project_Files/Poster.pdf - Paper: arXiv | Springer
Citation
If you use this library or adapt code from it, please cite the following paper:
@InProceedings{maskeen_unified_2026,
author="Maskeen, Jaskirat Singh
and Lashkare, Sandip",
title="A Unified Platform to Evaluate STDP Learning Rule and Synapse Model Using Pattern Recognition in a Spiking Neural Network",
booktitle="Artificial Neural Networks and Machine Learning -- ICANN 2025",
year="2026",
publisher="Springer Nature Switzerland",
doi={10.1007/978-3-032-04558-4_41},
address="Cham",
pages="509--520",
isbn="978-3-032-04558-4"
}
Feel free to fork and contribute!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nervos-0.0.7.tar.gz.
File metadata
- Download URL: nervos-0.0.7.tar.gz
- Upload date:
- Size: 35.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43e12f3aaac60271dc33780e86aa1b1255b7acac30dd07e54dc3544185579fba
|
|
| MD5 |
39e2e8f87e280e730f408bd19e7f9f6d
|
|
| BLAKE2b-256 |
aba5f6e05f054955cee503ab2002b763dc9378017a5e7f1a6f8f6e8e2d3b1038
|
File details
Details for the file nervos-0.0.7-py3-none-any.whl.
File metadata
- Download URL: nervos-0.0.7-py3-none-any.whl
- Upload date:
- Size: 38.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
872180b091fcba97a8e40d4577dba20a1be6a1d7ba64dc57d2679d62c4907332
|
|
| MD5 |
0f3fd1de0a76d8aebcc2a61814527eaf
|
|
| BLAKE2b-256 |
a7b82bf38836102fa54ca620cbe4cb60d2c70819189405661ab16b2680f37c2a
|