Releases: ORNL/superneuromat
Releases · ORNL/superneuromat
v3.5.0
What's Changed
- manual_setup and backend-related fixes by @kenblu24 in #38
- Add
SNN.to_networkx()function by @kenblu24 in #37 - Better zeroing/resetting/activating of neuron states by @kenblu24 in #36
- Resolve #35 by zeroing refractory periods on
reset()by @kenblu24 in #39
Full Changelog: v3.4.0...v3.5.0
v3.4.0
What's Changed
- Added doc fixes for draft release by @michabay05 in #13
- Accessors Overhaul by @kenblu24 in #24
- Numpy-like interface for properties of accessor lists by @kenblu24 in #25
- Add and clear spikes on NeuronListView by @kenblu24 in #26
- Allow for deletion of neurons and synapses semi-sanely by @kenblu24 in #27
- don't monkey-patch custom JSONEncoder.default by @kenblu24 in #28
New Contributors
- @michabay05 made their first contribution in #13
Full Changelog: v3.3.0...v3.4.0
v3.4.0b1
What's Changed
- Added doc fixes for draft release by @michabay05 in #13
- Accessors Overhaul by @kenblu24 in #24
- Numpy-like interface for properties of accessor lists by @kenblu24 in #25
- Add and clear spikes on NeuronListView by @kenblu24 in #26
- Allow for deletion of neurons and synapses semi-sanely by @kenblu24 in #27
- don't monkey-patch custom JSONEncoder.default by @kenblu24 in #28
New Contributors
- @michabay05 made their first contribution in #13
Full Changelog: v3.3.0...v3.4.0b1
v3.3.0
Lists are now first-class ways of interacting with lists of Neurons and Synapses.
What's Changed
Full Changelog: v3.2.2...v3.3.0
v3.2.2
Bugfixes:
- Fix input_spikes_info printing all spikes even with max_entries set ( #9 )
- Fix minor issues with schema & schema versioning
Full Changelog: v3.2.1...v3.2.2
v3.2.1
Changes:
- Bugfix: Fixed incorrect type when setting
snn.spike_trainwhen importing from json.
Instead of a 2Dnp.ndarray, it now gets correctly set as alist[np.ndarray]of 1D arrays. - Minor: When importing or exporting using the
skipkeysparameter, users will be warned if they accidentally pass astr, as opposed to alist[str]orset[str].
Full Changelog: v3.2.0...v3.2.1
v3.2.0
What's Changed
- Export & Import SuperNeuroMAT models to/from an
.snn.jsonfile. by @kenblu24 in #5 - Bugfix:
Neuron.connect_child()andNeuron.connect_parent()now correctly return the virtualSynapsethat gets created.
Full Changelog: v3.1.0...v3.2.0
v3.1.0
New Contributors
What's Changed
This is a major release, with some breaking changes. Here is a migration guide for users
coming from SuperNeuroMAT < v3.0.0..
Here is a brief summary of the new features:
- Faster
simulate()evaluation - Ability to run
simulate()more than once - No need to call
setup()anymore - Optional GPU[cuda] and JIT backends for faster evaluation
- CPU, sparse-CPU, JIT, GPU, backends are automatically chosen based on availability and network size.
- Neuron and Synapse classes
- Ability to reset the model to a prior state
- Better printouts
- Cleaner API
- Better and more lenient error checking with helpful error messages where it counts
- Users shouldn't need to inspect or modify
_privateattributes anymore
- Better management of duplicate synapses and spikes
- Automatic installation of dependencies when installing via
pip/uv- Only two dependencies are required:
numpy>1.26.0, andscipy.pandasis no longer required. - GPU and JIT backends require additional libraries.
- Only two dependencies are required:
- Online Documentation!
- And a getting started guide
- Automated testing and documentation building via GitHub actions
Full Changelog: v2.0.1...v3.1.0
v2.0.1
Major Updates in v2.0.1
- Install using:
pip install superneuromat - Update/upgrade using
pip install superneuromat --upgrade - Import using:
import superneuromat as snm - The main class could be accessed using
model = snm.NeuromorphicModel()previously; however, this API has changed to the following:snn = snm.SNN() - Support for sparse computations for all SNN operations is available; this significantly speeds up the simulation of sparsely connected SNNs; sparse computations can be selected automatically; however, to explicitly enable sparse computations, do:
snn.setup(sparse=True) - Reset functionality is available; to reset the SNN, do
snn.reset(); checkout readthedocs for the specifics of all the parameters that can be reset - Spike count functionality is implemented; do
snn.count_spikes()to get a count of number of spikes that transpired during a simulation - Multiple synapses from a neuron to any another neuron are not permitted; the
SNN.create_synapse()method throws an error if this is attempted - Support for single (32-bit) and double (64-bit) precision computations is now available; select the precision as follows:
snn.setup(dtype=32)for single precision andsnn.setup(dtype=64)for double precision - Refer to the updated documentation on readthedocs for more details on the API
v1.4
Major Updates
- Updated installation instructions
- Updated usage instructions
- Updated API in NeuromorphicModel.create_synapse() function: It now has stdp_enabled parameter instead of the previously enable_stdp parameter
- Added bare bones docs
Full Changelog: v1.3...v1.4