Code for Reservoir computing (Echo state network)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.



Code for reservoir computing.


The reservoir is constructed by the parameters defined in reservoir.config, which is:

    "input": {
        "nodes": 2,
        "functions": [
            "lambda x: np.sin(128 * np.pi * x)",
            "lambda x: x"
        "length": 5000
    "reservoir": {
        "start_node": 100,
        "end_node": 100,
        "step": 2,
        "degree_function": "lambda x: np.sqrt(x)",
        "sigma": 0.5,
        "bias": 1,
        "leakage_rate": 0.3,
        "regression_parameter": 1e-08
    "output": {
        "nodes": 2
    "training": {
        "init": 1000,
        "train": 3000,
        "test": 2000,
        "error": 1000

It will generate the prediction.

For one single signal input:

For two signals input:
sin(t) and t:

For three singals input:
Lorenz System:

Rössler System:

The result will be gathered in the file reservoir.output, you can visualize it by running ./ reservoir.output or ./ reservoir.output