Skip to content

Latest commit

 

History

History
85 lines (69 loc) · 4.83 KB

File metadata and controls

85 lines (69 loc) · 4.83 KB

Datasets & Stimuli used in BindsNET

BindsNET ships no third-party datasets. Its dataset loaders fetch data from the upstream sources declared below; all licenses are the upstream providers' and BindsNET does not redistribute the data. This file declares every dataset and synthetic stimulus referenced by the shipped examples and benchmarks, plus the additional dataset loaders the library provides.

Licenses below are pointers to the upstream source, not assertions by BindsNET. Confirm the current license at the source before using a dataset in your own work.


1. Datasets used by the shipped examples

MNIST

  • Loader: from bindsnet.datasets import MNIST — a thin wrapper over torchvision.datasets.MNIST (bindsnet/datasets/torchvision_wrapper.py).
  • Upstream source: torchvision → http://yann.lecun.com/exdb/mnist/
  • Version/snapshot: whatever the installed torchvision resolves (mirror-hosted).
  • Obtained by: automatic download on first run (download=True in the examples).
  • License: as published by the upstream/torchvision mirror (verify upstream).
  • Used in: examples/mnist/*.py (e.g. eth_mnist.py, batch_eth_mnist.py, supervised_mnist.py, conv_mnist.py, reservoir.py, MCC_reservoir.py, conv1d_MNIST.py, conv3d_MNIST.py, loc1d_mnist.py, loc2d_mnist.py, loc3d_mnist.py, SOM_LM-SNNs.py).
  • Preprocessing → spikes: transforms.ToTensor() then scaling by --intensity (default 128 in eth_mnist.py), then rate coding via bindsnet.encoding.PoissonEncoder(time, dt) — pixel intensities become Poisson spike trains over time ms at step dt.

Atari — Breakout (and Space Invaders)

  • Loader: bindsnet.environment.GymEnvironment("BreakoutDeterministic-v4") (see examples/breakout/*.py).
  • Upstream source: Arcade Learning Environment via gymnasium[atari] + ale-py (declared in pyproject.toml). ROMs are provided through the ALE/AutoROM tooling.
  • Obtained by: the Gymnasium/ALE runtime; not stored in this repo.
  • License: ALE/ROM licensing applies (verify via ale-py / AutoROM).
  • Used in: examples/breakout/breakout.py, breakout_stdp.py, play_breakout_from_ANN.py, random_baseline.py, random_network_baseline.py.
  • Preprocessing → spikes: Atari observations are converted to network input by the example pipelines (see each script and bindsnet/encoding/).
  • Pretrained artifact: examples/breakout/trained_shallow_ANN.pt (a Breakout Q-network transplanted into an SNN) — provenance in examples/breakout/README.md.

2. Synthetic stimuli (no external dataset)

Scaling-benchmark Poisson drive

Used by examples/benchmark/benchmark.py and reported in the README "Benchmarking" section and Hazan et al. 2018:

  • Population of n Poisson input neurons, firing rates drawn from U(0, 100) Hz.
  • Connected all-to-all to an equally sized population of LIF neurons; connection weights sampled from N(0, 1).
  • n varied 250 → 10,000 in steps of 250; each run simulated 1,000 ms at dt = 1.0 ms.

This stimulus is generated programmatically; there is no dataset to download.


3. Additional dataset loaders provided by the library

These loaders are part of bindsnet.datasets and are available to users, though not every one is exercised by a shipped example. Sources are taken directly from the loader modules.

Dataset Loader Upstream source Notes
Spoken MNIST (Free Spoken Digit Dataset) bindsnet.datasets.SpokenMNIST (spoken_mnist.py) https://github.com/Jakobovski/free-spoken-digit-dataset (downloads master.zip) License per upstream repo
ALOV300++ bindsnet.datasets.ALOV300 (alov300.py) frames http://isis-data.science.uva.nl/alov/alov300++_frames.zip, GT text http://isis-data.science.uva.nl/alov/alov300++GT_txtFiles.zip; info http://alov300pp.joomlafree.it/dataset-resources.html Visual-tracking dataset
DAVIS 2017 bindsnet.datasets.Davis (davis.py) https://davischallenge.org/davis2017/code.html Video object segmentation
Other torchvision datasets create_torchvision_dataset_wrapper(...) (torchvision_wrapper.py) torchvision Wrappers exported for CIFAR10/100, FashionMNIST, EMNIST, KMNIST, SVHN, STL10, Omniglot, VOC*, COCO*, etc. — each downloads from its torchvision-declared source

Data handling notes

  • Datasets download to a user-specified root directory (the examples typically use a local data/ path); they are not committed to this repository.
  • BindsNET does not modify or redistribute upstream data; it applies encodings (bindsnet/encoding/) to turn inputs into spike trains at simulation time.
  • If a download URL has moved, consult the loader module in bindsnet/datasets/ and the upstream project page listed above.