Skip to main content

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

Project description

ReservoirPy (v0.2)

A simple and flexible code for Reservoir Computing architectures like Echo State Networks (ESN).

PyPI version Documentation Status Build Status

ReservoirPy is a simple user-friendly library based on Python scientific modules. It provides a flexible interface to implement efficient Reservoir Computing (RC) architectures with a particular focus on Echo State Networks (ESN). Advanced features of ReservoirPy allow to improve computation time efficiency on a simple laptop compared to basic Python implementation. Some of its features are: offline and online training, parallel implementation, sparse matrix computation, fast spectral initialization, etc. Moreover, graphical tools are included to easily explore hyperparameters with the help of the hyperopt library.

This library works for Python 3.6 and higher.

Installation, examples and tutorials

Go to the examples folder for intallation, examples, tutorials and Jupyter Notebooks.

Versions

To enable last features of ReservoirPy, you migth want to download a specific Git branch.

Available versions and corresponding branch:

  • v0.1.x : v0.1
  • v0.2.x (last stable) : master
  • v0.2.x (dev) : v0.2-dev
  • (comming soon) v0.3.0 : v0.3

Quick try

Chaotic timeseries prediction (MackeyGlass)

Run and analyse these two files to see how to make timeseries prediction with Echo State Networks:

  • simple_example_MackeyGlass.py (using the ESN class)

    python simple_example_MackeyGlass.py
    
  • minimalESN_MackeyGlass.py (without the ESN class)

    python minimalESN_MackeyGlass.py
    

Preprint with tutorials

Tutorial on ReservoirPy can be found in this preprint (Trouvain et al. 2020).

Explore Hyper-Parameters with Hyperopt

Tutorial on how to explore hyperparameters with ReservoirPy and Hyperopt can be found in this preprint (Trouvain et al. 2020).

Turorial and Jupyter Notebook for hyper-parameter exploration

More info on hyperopt: Official website

Cite

Nathan Trouvain, Luca Pedrelli, Thanh Trung Dinh, Xavier Hinaut. ReservoirPy: an Efficient and User-Friendly Library to Design Echo State Networks. 2020. ⟨hal-02595026⟩ https://hal.inria.fr/hal-02595026

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reservoirpy-0.2.3.tar.gz (39.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reservoirpy-0.2.3-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file reservoirpy-0.2.3.tar.gz.

File metadata

  • Download URL: reservoirpy-0.2.3.tar.gz
  • Upload date:
  • Size: 39.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5

File hashes

Hashes for reservoirpy-0.2.3.tar.gz
Algorithm Hash digest
SHA256 7cd09854ba29917756bd6230db1b415135810c4002316f18df3ebc2945c00f3b
MD5 06b225e4c16ca411cc81bd1f0da71ab1
BLAKE2b-256 8093a10f348512f360b8da598bb760232f54f16464770efaae02c31254047f37

See more details on using hashes here.

File details

Details for the file reservoirpy-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: reservoirpy-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 44.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.8.5

File hashes

Hashes for reservoirpy-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f7fa253f39a34cb50714c21aab7282514befe7d89c3c956f8141d7a35b269ddd
MD5 641c512d4902c4e4e736a88f3850826c
BLAKE2b-256 8440ca8d9390a12de772bebb68ec5a76b3ebec8fc8f7840f87cce4760d675943

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page