/ Модель

Характеристики

Лицензия
MIT
Библиотека
pytorch
Опубликована
14 июл 2026

spikingresnet

Классификация изображенийИзображение → label

Набор обычных и спайковых ResNet для классификации изображений CIFAR-10/100 и экспериментов по обнаружению входов вне обучающего распределения.

0скачиваний за 30 дней0лайковвеса обновлены15 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

dsluga/spikingresnet — набор чекпойнтов моделей SpikingResNet для классификации изображений и экспериментов по обнаружению входов вне обучающего распределения (OoD). В репозитории представлены обычные и спайковые варианты ResNet-4, ResNet-10 и ResNet-18, обученные на CIFAR-10 или CIFAR-100; спайковые модели используют нейроны leaky integrate-and-fire вместо ReLU и выполняют инференс за один временной шаг. Разработчик сопоставляет их с полноточными CNN на бенчмарке OpenOOD.

Модели предназначены для классификации изображений CIFAR и оценки того, насколько тестовый пример отличается от обучающего распределения. README описывает постфактум-оценки MSP, Energy, MLS и ASH, а также детектор k ближайших соседей по признакам предпоследнего слоя; рассматриваются близкие и удалённые OoD-данные. В репозитории заявлено 495 чекпойнтов с разными архитектурами, функциями потерь, расширениями и случайными начальными значениями.

Модели принимают изображения и выдают классы, также могут предоставлять оценки для обнаружения OoD. Метаданные указывают PyTorch, формат весов safetensors и лицензию MIT. Заявленное снижение арифметической сложности относится к спайковому подходу; конкретные показатели качества для отдельного чекпойнта зависят от конфигурации, а README не приводит их сводных значений.

Сценарии применения

  • Классификация изображений CIFAR-10
  • Классификация изображений CIFAR-100
  • Обнаружение близких OoD-примеров, например CIFAR-100 для модели CIFAR-10
  • Обнаружение удалённых OoD-примеров, например SVHN или MNIST
  • Сравнение спайковых и обычных ResNet в бенчмарке OpenOOD

Ограничения

Модели и эксперименты ориентированы на CIFAR-10 и CIFAR-100; заявленная применимость к другим наборам рассматривается в рамках OoD-бенчмарка. Качество и свойства зависят от конкретного чекпойнта и конфигурации.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

SpikingResNet

Out-of-distribution (OoD) detectors, built on top of models trained on a single dataset (in-distribution, ID), should flag test-time inputs that don't belong to that distribution. Spike-like models replace standard ReLU activations with leaky integrate-and-fire (LIF) neurons on conventional ResNet backbones, operating at a single inference time step to achieve binary spike activations and substantially reduced arithmetic complexity, while remaining competitive with full-precision CNN baselines on OpenOOD benchmarks.

Full code: https://github.com/Alex-TLR/spikingResNet

About the OoD experiments

Two difficulties are evaluated: near-OoD (a semantically similar dataset, e.g. CIFAR-100 against a CIFAR-10 model) and far-OoD (a very different one, e.g. SVHN/MNIST). Detectors are scored by AUROC (higher is better) and FPR95 (false-positive rate at 95% true-positive rate, lower is better). The experiments conform to the OpenOoD benchmark.

How this repository is organized

The code includes the inference-only pipeline, the OoD benchmarks, and one folder per model "family" (architecture + dataset). Within each family, checkpoints are grouped by experiment (loss function + training time steps), then by expansion/seed:

spikingresnet/
├── code/                                   <- inference and OoD code
├── checkpoints.csv                         <- every checkpoint in this repo, one row each
└── <family>/<experiment>/T<T>_E<E>_S<seed>/
    ├── config.json
    └── model.safetensors

495 checkpoints across 7 families:

Every experiment sweeps all 5 seeds (42, 1987, 1991, 2020, 2024) across its listed expansions -- checkpoints.csv gives the exact seed of every checkpoint -- see "Running an OoD benchmark" below to reproduce the results.

Quick start

Install the required packages:

pip install -r code/requirements.txt

See what models are available:

python code/run_example.py dsluga/spikingresnet --list
python code/run_example.py dsluga/spikingresnet --list resnet10-cifar10

Run one checkpoint:

python code/run_example.py dsluga/spikingresnet --subfolder resnet10-cifar10/cross-entropy-baseline/T1_E10_S1987

Running an OoD benchmark

The option --experiment picks which detector to run:

  • posthoc (default) -- scoring computed directly from a trained model's outputs, no extra training or feature bank needed: MSP (max softmax probability), Energy, MLS (max logit score), and ASH (activation shaping);
  • knn -- a k-nearest-neighbors detector over penultimate-layer features.

Sample run of the knn OoD detection benchmark:

python code/run_example.py --experiment knn dsluga/spikingresnet --all-seeds \
    --subfolder resnet10-cifar10/cross-entropy-baseline/T1_E10

Datasets

By default, the benchmark only uses datasets that torchvision downloads automatically (CIFAR-10/100, SVHN, MNIST). The full benchmark also evaluates on Textures (DTD), Places365, and Tiny-ImageNet-200; fetch those directly from their original hosts with:

python code/spikingresnet_code/download_datasets.py textures tiny_imagenet   # ~850MB
python code/spikingresnet_code/download_datasets.py places365                # ~25-30GB

then edit code/run_example.py's NEAR_OOD/FAR_OOD lists to include them in a benchmark run, e.g.:

NEAR_OOD = ['CIFAR10', 'CIFAR100', 'tImage200']
FAR_OOD =  ['MNIST', 'SVHN', 'Textures', 'Places365']

Model list

resnet10-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
cross-entropy-baselineconvresnet10cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

25 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="resnet10-cifar10/cross-entropy-baseline/T1_E10_S1987"

resnet18-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
cross-entropy-baselineconvresnet18cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

25 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="resnet18-cifar10/cross-entropy-baseline/T1_E1_S42"

resnet4-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
cross-entropy-baselineconvresnet4cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

25 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="resnet4-cifar10/cross-entropy-baseline/T1_E10_S1987"

spikingresnet4-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
count-loss-t1-trainspikeresnet4count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
cross-entropy-t1-trainspikeresnet4cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t1-trainspikeresnet4mse_count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

75 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="spikingresnet4-cifar10/mse-loss-t1-train/T1_E10_S1987"

spikingresnet10-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
count-loss-t1-trainspikeresnet10count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
cross-entropy-t1-trainspikeresnet10cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t1-trainspikeresnet10mse_count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

75 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="spikingresnet10-cifar10/mse-loss-t1-train/T1_E10_S1987"

spikingresnet18-cifar10

Dataset: CIFAR10

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
count-loss-t1-trainspikeresnet18count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
cross-entropy-t1-trainspikeresnet18cross_entropyT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t1-trainspikeresnet18mse_count_lossT=1E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t2-trainspikeresnet18mse_count_lossT=2E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t4-trainspikeresnet18mse_count_lossT=4E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25
mse-loss-t8-trainspikeresnet18mse_count_lossT=8E in [1, 5, 10, 25, 50]seeds [42, 1987, 1991, 2020, 2024]25

150 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="spikingresnet18-cifar10/mse-loss-t1-train/T1_E5_S42"

spikingresnet18-cifar100

Dataset: CIFAR100

experiment foldertypebackbonelosstrainingexpansionsseeds# checkpoints
mse-loss-t1-trainspikeresnet18mse_count_lossT=1E in [25, 50, 100, 250, 500, 1000]seeds [42, 1987, 1991, 2020, 2024]30
mse-loss-t2-trainspikeresnet18mse_count_lossT=2E in [25, 50, 100, 250, 500, 1000]seeds [42, 1987, 1991, 2020, 2024]30
mse-loss-t4-trainspikeresnet18mse_count_lossT=4E in [25, 50, 100, 250, 500, 1000]seeds [42, 1987, 1991, 2020, 2024]30
mse-loss-t8-trainspikeresnet18mse_count_lossT=8E in [25, 50, 100, 250, 500, 1000]seeds [42, 1987, 1991, 2020, 2024]30

120 checkpoints total. The table above groups them by experiment; every individual subfolder/config/seed is listed in the repo-root checkpoints.csv.

Example: subfolder="spikingresnet18-cifar100/mse-loss-t1-train/T1_E50_S42"

Citation

@article{spikingresnet_ood,
  title   = {Out-of-Distribution Detection with Spike-Like Networks: Population Coding, Training Depth, and Single-Step Feature Representations},
  author  = {A. Avramović, S. Gajić, V. Jovanović, V. Risojević, D. Sluga},
  journal = {},
}

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · pytorch · image-classification

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
4dcb01d

0 моделей