Skip to content
vwOvOwvPublic

About

[ICLR 2026] Training Deep Normalization-Free Spiking Neural Networks with Lateral Inhibition.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Latest commit

 

History

48 Commits

Folders and files

Repository files navigation

DeepEISNN

OpenReview Hugging Face

Code for paper Training Deep Normalization-Free Spiking Neural Networks with Lateral Inhibition.

overview

Table of Contents

🚀 Quick Start

Environment setup

All experiments are conducted with

  • Python 3.12.10
  • NVIDIA GeForce RTX 4090 GPUs
  • CUDA 12.6
  • PyTorch 2.4.1

Create the conda environment with the following command:

conda env create -f environment.yml
conda activate deepeisnn

Train from scratch

We provide all training configurations in configs/EI-SNN.

Simply run the following command to reproduce the results on CIFAR-10 with ResNet-18 in the paper.

python train.py --scratch configs/EI-SNN/CIFAR10-ResNet18.yaml

Please modify data_path and output_dir in the configuration file before training.

Other configuration files are also named in the format of [Dataset]-[Arch].yaml. See configs/EI-SNN and configs/BN-SNN for more examples.

Resume from checkpoints

To resume training from checkpoints, run the following command:

python train.py --resume [Checkpoint-Path]

🎓 Learn More about E-I Interaction

Below is detailed information about this repo, which may help further research on E-I dynamics based on our work.

Code structure

DeepEISNN/
├── configs/            # YAML configs for EI-SNN and BN-SNN
│   ├── EI-SNN/         # EI-SNN experiment configs
│   └── BN-SNN/         # BN-SNN experiment configs
├── datasets/           # dataset loaders and preprocessing
├── models/             # MLP/VGG/ResNet architectures
├── modules/            # layers, normalizations, and optimizers
├── utils/              # metrics, visualization, etc.
├── eval_pretrained.py  # evaluate pretrained checkpoints
└── train.py            # training script

Usage

Key arguments in train.py:

  • --scratch <config.yaml>: train from scratch
  • --resume <ckpt.pth>: resume training
  • --log {0,1,2}: logging level
  • --notes <str>: add notes about experiment
  • --seed <int>: random seed (default 2025)

To build E-I models, you can either use the provided E-I configs or use the E-I modules in your own model. The E-I modules follow the Conv/Linear-Norm-Activation convention:

  • Conv2d -> SpikingEiConv2d
  • Linear -> SpikingEiLinear
  • BatchNorm2d -> SpikingEiNorm2d
  • BatchNorm1d -> SpikingEiNorm1d (set output_layer=True for the final layer)

Here, prev_in_features is the fan-in ($d$ in the paper) of the SpikingEiConv2d/Linear layer.

Visualization

We provide visualization demonstrating evolving distributions of

  • all trainable parameters
  • inputs/outputs of all layers

during training.

Simply add --log 2 in the shell command to enable visualization. For example:

python train.py --scratch configs/EI-SNN/[Dataset]-[Arch].yaml --log 2

👀 See how bimodality emerges during training!

distribution

Checkpoints

All pretrained checkpoints are available on Hugging Face.

Evaluation

Use the following command to quickly evaluate the pretrained checkpoints on the evaluation set.

python eval_pretrained.py --model [Dataset]-[Arch] --data_path [Dataset-Path]

The script will automatically download the corresponding weights from Hugging Face.

Model cards

Dataset Arch T Top-1 Acc(%) Model Name
CIFAR-10 ResNet-18 4 92.06 CIFAR10-ResNet18
CIFAR-10 VGG-8 4 87.03 CIFAR10-VGG8
CIFAR-10 VGG-11 4 88.43 CIFAR10-VGG11
CIFAR-10 VGG-16 4 91.01 CIFAR10-VGG16
CIFAR-10 VGG-19 4 91.36 CIFAR10-VGG19
CIFAR-100 VGG-16 4 65.90 CIFAR100-VGG16
CIFAR-100 VGG-19 4 64.06 CIFAR100-VGG19
CIFAR10-DVS VGG-8 10 78.40 CIFAR10DVS-VGG8
CIFAR10-DVS VGG-11 10 78.40 CIFAR10DVS-VGG11
DVS-Gesture VGG-8 16 95.83 DVSGesture-VGG8
TinyImageNet200 ResNet-18 4 50.29 TinyImageNet200-ResNet18
ImageNet1k ResNet-18 4 44.64 ImageNet1k-ResNet18

Citation

If this work is helpful, please kindly cite as:

@inproceedings{
  liu2026training,
  title={Training Deep Normalization-Free Spiking Neural Networks with Lateral Inhibition},
  author={Peiyu Liu and Jianhao Ding and Zhaofei Yu},
  booktitle={The Fourteenth International Conference on Learning Representations},
  year={2026},
  url={https://openreview.net/forum?id=U8preGvn5G}
}

Contact

If you have any questions, please feel free to contact me via email or raise an issue.

About

[ICLR 2026] Training Deep Normalization-Free Spiking Neural Networks with Lateral Inhibition.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages