| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 0.3.5_ bug fixes, some of which change results source code.tar.gz | 2026-10-29 | 26.1 MB | |
| 0.3.5_ bug fixes, some of which change results source code.zip | 2026-10-29 | 26.2 MB | |
| README.md | 2026-10-29 | 3.1 kB | |
| Totals: 3 Items | 52.4 MB | 0 | |
Read "Results changes" before upgrading. This release fixes 40+ bugs. Most were crashes, and those fixes change nothing that ran before. A few fix code that ran without error but computed the wrong thing, so the numbers it produces change.
pip install bindsnet==0.3.5 · Python 3.11 to 3.13 · PyTorch 2.14.1
Results changes
reset_state_variables()now clears the traces thatMSTDP,MSTDPETandRmaxcarry across time steps. Before, each trial continued the previous trial's traces. This affects reward-modulated learning with resets between trials, for exampleexamples/breakout/breakout_stdp.pyandexamples/dotTracing/dot_tracing.py.CSRMNodesand the connections into them now clear their spike history on reset (#815).DiehlAndCook2015(sparse=True)now learns. Before, its input weights never changed.MeanFieldConnectionnow appliesweight_decay(it was silently ignored), and uses each sample's own mean rate instead of mixing samples across the batch. Batch size 1 is unchanged.- Sparse
MulticompartmentConnectionweights now learn as dense ones do at batch size > 1. Rmax.eligibility_traceand the state ofMCC_learning.MSTDPETnow have a batch dimension first:[batch, source, target].- Checkpoints:
state_dict()now savesMulticompartmentConnectionfeature values. A checkpoint from an earlier version failsload_state_dict(..., strict=True); load it withstrict=False.
The published results in REPRODUCING.md use code whose outputs are bit-identical before and after this release: dense DiehlAndCook2015, Connection with PostPre, and the convolutional and Izhikevich layers.
Fixed
- About 25 crashes, mostly at batch size > 1 or with multi-dimensional layer shapes. They were in
IzhikevichNodes,CSRMNodes,LocalConnection, theMaxPoolconnections,NetworkMonitor,MulticompartmentConnection,Rmax,MSTDPET, the weight-bounded rules onSparseConnection, and theMeanField,Normalization,Updatingand adaptation features. Each crash has a test that reproduces it. - Normalizing an all-zero convolutional or local kernel no longer produces NaN (#814).
--seednow makes GPU runs of the examples repeatable. Several examples ran one sample too many, ignored--plot, or crashed; these are fixed.- The API reference on Read the Docs was empty; it is back, with no build warnings.
For contributors
- New regression tests run on every pull request. Seeded networks must reproduce their stored spikes, voltages and weights exactly, and the number of operations per time step is checked. Further checks block pull requests that weaken or delete tests.
- Changed rule: fixes that change results can ship in any release, and are always listed first in the changelog. Changes that break user code wait for 0.4.0.
Thanks to @AHMETHAKANBEZIR1 for [#813], [#814] and [#815], and for the report behind the mean-field fix (#816).
Full list: CHANGELOG.md (github.com)