Skip to content

esnfed

PyPI Python License Tests

Echo State Networks for Federated Learning — a small, dependency-light Python toolkit for training reservoir-computing models in a federated setting, where several parties jointly train a model without sharing their raw data.

The core depends only on NumPy and NetworkX.

pip install esnfed

Open the interactive playground Run it live (JupyterLite)

The playground runs a real Echo State Network in your browser — drag sliders and watch reservoir activations move, race central vs federated vs local vs ensemble, and probe the network's memory. No install, no server.

Why this and not ReservoirPy?

ReservoirPy is the mature library for building and tuning reservoir models. esnfed does not replace it — it adds the federated layer ReservoirPy lacks, and interoperates with it. Design a reservoir in ReservoirPy, federate it here in one line.

See it

  • Reservoir topology

    Reservoir topology graph

  • Echo state property

    Eigenvalue spectrum

The spectral radius controls memory and stability — eigenvalues must stay inside the unit circle for the echo state property to hold:

Spectral radius sweep

A reservoir's response to an impulse — the fading echoes the readout learns to combine:

Reservoir echoes

Headline result — federation is essential on real data

On the real counterparty-risk series, exact federated ridge stays accurate as the federation grows while local-only training collapses (interactive, log scale):

See the full gallery of interactive result charts, the playground, and the queryable results database.

What's inside

  • Echo State Network

    Leaky-integrator reservoir + closed-form ridge readout.

  • Reservoir topologies

    Erdős–Rényi, small-world, scale-free, ring — and graph descriptors.

  • Federated strategies

    Exact federated ridge, FedAvg, prediction ensemble, structural alignment.

  • Real & synthetic data

    NARMA-10, Mackey-Glass, Lorenz, and a bundled counterparty-risk series.

  • Interoperability

    Adapters for ReservoirPy; an example integration with Flower.

  • FedResPrompt

    An experimental reservoir prompt-controller for federated LLMs.

Next steps