Beta release for new ReservoirPy major version: v0.3
Changes
Almost everything changed from previous version. Note the following changes:
- `Node` API: everything in ReservoirPy is now a `Node`, which is the minimal piece of dynamical system defined in the library. It can apply a function to some input data, modify its internal state, train its parameters...
- ...and get involved in much bigger architectures through `Model` objects. `Model` objects store graphs of `Node`objects, and can handle forward flow of data, training of online and offline nodes, and feedbacks.
- Reservoirs have now their own class ! Along with a lot of other tools defined in `reservoirpy.nodes` module: non linear vector auto regressive machine (NVAR), dense network with Tikhonov regression, FORCE learning, activations functions, operators... and more coming in the next complete releases.
- While `Model` objects define complex flow of data between nodes, feedback connections define complex flow of data between nodes *shifted in time*. This allows for more refined techniques to be applied.
- Subclassing a `Node` requires only a bunch of functions, and allows to quickly create new nodes and test new behaviors.
- The `ESN` class has not disappeared though, and is back as `Model` instance optimized with some parallelization (still ongoing work, parallelization might still lead to unpredicted behavior with some configurations).
- The `reservoirpy.compat` module keep track of everything from the last release (v0.2.4) of ReservoirPy.
This is beta version, where some bugs are still expected. Do not hesitate to open an issue in that case.
**Full Changelog**: https://github.com/reservoirpy/reservoirpy/compare/v0.2.4...v0.3.0-b