Reference checkpoints are distributed as GitHub Release assets instead of being committed to git.
| Field | Value |
|---|---|
| Stage | 4 |
| Model | Reset-based sparse SNN |
| Dataset | MNIST |
| Hidden dim | 128 |
| Time steps | 4 |
| Epochs | 100 |
| Seed | 35 |
| Best test accuracy | 97.75% |
| Download | stage4_mnist_hidden128_seed35_v0.1.1.pt |
| Metrics CSV | stage4_mnist_hidden128_seed35_v0.1.1_metrics.csv |
| SHA256 | 78683332db3c7b1f0c60b5a434e07020daa923c1d0f8ec5579cfd84d153e1d72 |
This checkpoint was trained with:
python train.py --config configs/mnist_release.yamlIt is a standalone Stage 4 reference checkpoint. The Stage 0-4 comparison table in the README is produced by examples/compare_stages.py, while this checkpoint is produced by train.py with checkpointing enabled.
Because the comparison table reports the final epoch from a five-stage benchmark script and this checkpoint records the best Stage 4 epoch from a standalone training run, the reported Stage 4 numbers are expected to be close but not identical.
The checkpoint is saved by train.py as a dictionary with:
model_state_dictbest_accuracyconfig
Load it with:
import torch
from snn_structural_evolution import get_model
checkpoint = torch.load("stage4_mnist_hidden128_seed35_v0.1.1.pt", map_location="cpu")
model = get_model(stage=4, hidden_dim=128, time_steps=4)
model.load_state_dict(checkpoint["model_state_dict"])
model.eval()
print(checkpoint["best_accuracy"])Recreate the checkpoint from scratch:
python train.py --config configs/mnist_release.yamlVerify the downloaded checkpoint:
Get-FileHash -Algorithm SHA256 stage4_mnist_hidden128_seed35_v0.1.1.pt