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