reservoirpy/reservoirpy

A simple and flexible code for Reservoir Computing architectures like Echo State Networks

What it solves

ReservoirPy is a library designed to simplify the creation and implementation of Reservoir Computing architectures, specifically Echo State Networks (ESN). It provides a flexible framework for handling complex temporal data and time-series prediction, such as chaotic time-series forecasting, and classification tasks.

How it works

The library implements the reservoir computing paradigm where a fixed, random reservoir of neurons is used to map input signals into a high-dimensional space. Only the readout layer is trained, which significantly reduces training time and computation. It supports various configurations, including deep reservoirs, multiple readouts, feedback loops, and sparse matrix computations for efficiency.

Who it’s for

Researchers and developers working with recurrent neural networks, time-series analysis, and dynamical systems who need a flexible tool for designing and optimizing reservoir computing models.

Highlights

  • Flexible Architectures: Supports deep reservoirs, multiple readouts, and feedback connections.
  • Advanced Learning Rules: Includes Intrinsic Plasticity, Local Plasticity, and Next-Generation Reservoir Computing (NVAR).
  • Training Options: Offers both offline and online training modes.
  • Integration: Interfaces with scikit-learn models and provides a Jax backend for acceleration.
  • Optimization: Includes graphical tools for hyperparameter exploration using the hyperopt library.

Related

  • Project
  • Project
  • Project
  • Project
  • Project