Rockpool

Latest version: v2.9.1

Safety actively analyzes 682361 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

2.9

Added
* Support for Xylo™Audio 3 development kit
* Hardware interface via samna
* Digital microphone input and simulaton package
* Cycles model
* Simulation support for audio front-end: `AFESimExternal` , `AFESimAGC`, and `AFESimPDM` with all the necessary sub-modules
* Tutorial and documentation for the ``SynNet`` architecture, to improve visibility

Changed
* Update ``release notes`` for developers in documentation
* Add check for version
* Add check for copyright
* Update dependency version of Jax to >=0.4.28
* Move instructions to build documentation inside ``Contributing`` section

2.8

Added
* Add cycles model for Xylo Audio and Xylo IMU, enabling users to calculate the required master clock frequency for Xylo
* Add support for NIR, for importing and exporting Rockpool torch networks

Changed
* `LIFExodus` now supports vectors as threshold parameter
* Standard `LIF` modules now have `w_rec` as a simulation parameter when in non-recurrent mode

Fixed
* `TypeError` when using `LIFExodus`
* Update `jax.config` usage
* Power measurement for `xyloA2` was not considering AFE channels
* Remove `check_grads` from Jax tests, since this will fail for LIF neurons due to surrograte gradients
* Fix a bug in `AFESim` on windows, where the maximum int32 value would be exceeded when seeding the AFE simulation
* Fix stochasticity in some unit tests
* Fix a bug in `channel_quantize`, where quantization would be incorrectly applied for Xylo IMU networks with Nien < Nhid
* Fix a bug in `channel_quantize`, where hidden unit biases would be incorrectly used in place of output unit biases
* Fix a non-handled buffer bug in `LIFJax`, where non-recurrent modules would sometimes have garbage in `w_rec` instead of all zeros
* Fix a bug in `TorchSequential.as_graph()`, where torch module functions would be called instead of rockpool modules, leading to a failing call to `.as_graph()`.

Deprecated

* Brian2 tests are not running -- Brian2 backend will be soon removed

Removed

Security

[v.2.7.1 hotfix] -- 2024-01-19

Fixed

* Bug in Xylo IMU mapper, where networks with more than 128 hidden neurons could not be mapped

2.7

Added

* Dependency on `pytest-random-order` v1.1.0 for test order randomization.
* New HowTo tutorial for performing constrained optimisation with torch and jax
* Xylo IMU application software support:

* `mapper`, `config_from_specification` and graph mapping support
* `XyloSim` module: SNN core simulation for Xylo IMU
* `IMUIFSim` module: Simulation of the input encoding interface with sub-modules:
* `BandPassFilter`
* `FilterBank`
* `RotationRemoval`
* `IAFSpikeEncoder`
* `ScaleSpikeEncoder`
* `XyloIMUMonitor` module: Real-time hardware monitoring for Xylo IMU.
* `XyloSamna` module: Interface to the SNN core.
* `IMUIFSamna` module: Interface to `IMUIF`, utilizing neurons in the SNN core.
* `IMUData` module: Collection of sensor data from the onboard IMU sensor.
* Utility functions for network mapping to the Xylo IMU HDK, interfacing, and data processing.
* Introductory documentation providing an overview of Xylo IMU and instructions on configuring preprocessing.
* New losses, with structure similar to PyTorch.

* PeakLoss which can be imported as `peak_loss = rockpool.nn.losses.PeakLoss()`.
* MSELoss which can be imported as `mse_loss = rockpool.nn.losses.MSELoss()`.

Changed

* Update dependency version of pytest-xdist to >=3.2.1.
* Update to `Sequential` API. `Sequential` now permits instantiation with an `OrderedDict` to specify module names. `Sequential` now supports an `.append()` method, to append new modules, optionally specifying a module name.
* Cleaned up tree manipulation libraries and added to documentation. Implemented unit tests.
* Removed obsolete unit tests
* Changed semantics of transformation configurations for QAT, to only include attributes which will be transformed, rather than all attributes. This fixes an incompatibility with torch >= 2.0.
* Added support for latest `torch` versions
* New fine-grained installation options
* Renamed power measurement dict keys returned by Xylo Audio 2 (`syns61201`) `XyloSamna` module, to be more descriptive
* Upgrade minimum Python version supported to 3.8
* Upgrade minimum JAX version supported to 0.4.10
* Rearranged Xylo documentation to separate overview, Xylo Audio and Xylo IMU

Fixed

* Fixed bug in initialising access to MC3620 IMU sensor on Xylo IMU HDK, where it would fail with an error the on the second initialisation

Deprecated

Removed

* NEST backend completely removed
* Removed spiking output surrogate "U" from LIF modules

Security

2.6

Added

* Dynap-SE2 Application Software Support (jax-backend)

* jax backend `DynapSim` neuron model with its own custom surrogate gradient implementation
* `DynapSamna` module handling low-level HDK interface under-the-hood
* rockpool network <-> hardware configuration bi-directional conversion utilities
* Network mapping: `mapper()` and `config_from_specification()`
* sequentially combined `LinearJax`+`DynapSim` network getters : `dynapsim_net_from_config()` and `dynapsim_net_from_spec()`
* transistor lookup tables to ease high-level parameters <-> currents <-> DAC (coarse, fine values) conversions
* Dynap-SE2 specific auto-encoder quantization `autoencoder_quantization()`
* Custom `DigitalAutoEncoder` implementation and training pipeline
* `samna` alias classes compensating the missing documentation support
* unit tests + tutorials + developer docs
* `DynapseNeuron` graph module which supports conversion from and to `LIFNeuronWithSynsRealValue` graph
* hardcoded frozen and dynamic mismatch prototypes
* mismatch transformation (jax)
* `LIFExodus` now supports training time constants, and multiple time constants
* Improved API for `LIFTorch`
* Implemented `ExpSynExodus` for accelerated training of exponential synapse modules
* Added initial developer documentation
* Added MNIST tutorial
* Fixed notebook links to MyBinder.org

Changed

* Updated Samna version requirement to >=0.19.0
* User explicitly defines Cuda device for LIFExodus, ExpDynExodus and LIFMembraneExodus
* Improved error message when a backend is missing
* Improved transient removal in `syns61201.AFESim`

Fixed

* Weight scaling was too different for output layers and hidden layers.
* Hotfix: Regression in `LIFExodus`

2.5

Added

* Added support for Xylo-Audio v2 (SYNS61201) devices and HDK
* Added hardware versioning for Xylo devices
* Added a beta implementation of Quantisation-Aware Training for Torch backend in ``rockpool.transform.torch_transform``
* Added support for parameter boundary constraints in ``rockpool.training.torch_loss``
* Added tutorial for Spiking Heidelberg Digits audio classification
* Added tutorial and documentation for WaveSense network architecture
* Added support to ``LIFTorch`` for training decays and bitshift parameters
* Added a new utility package ``rockpool.utilities.tree_utils``

Changed

* Updated support for Exodus v1.1
* Updated ``XyloSim.from_specification`` to handle NIEN ≠ NRSN ≠ NOEN for Xylo devices
* Updated ``LIFTorch`` to provide proper ``tau``s for ``.as_graph()`` in case of decay and bitshift traning
* Improved backend management, to test torch version requirements

Fixed

* Fixed usage of Jax optimisers in tutorial notebooks to reflect Jax API changes
* Fixed issues with ``LIFTorch`` and ``aLIFTorch``, preventing ``deepcopy`` protocol
* Fixed bug in `tree_utils`, where `Tree` was used instead of `dict` in `isinstance` check
* Replaced outdated reference from ``FFRateEuler`` to ``Rate`` module in high-level API tutorial
* Fixed seeds in torch and numpy to avoid ``nan`` loss problem while training in tutorial
* Fixed bug in ``TorchModule`` where assigning to an existing registered attribute would clear the family of the attribute
* Fixed a bug in Constant handling for `torch.Tensor`s, which would raise errors in torch 1.12
* Fixed bug in ``LIFTorch``, which would cause recorded state to hang around post-evolution, causing errors from `deepcopy`
* Fixed bug in `Module._register_module()`, where replacing an existing submodule would cause the string representation to be incorrect

2.4.2

Hotfix

Improved handling of weights when using `XyloSim.from_specification`

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.