$ show nschaetti/EchoTorch
EchoTorch is a PyTorch-based research library for reservoir computing and echo state networks (ESNs). It implements multiple ESN variants, including a self-predicting ESN (SPESNCell), conceptor-based pattern manipulation with logic operations (AND, OR, NOT, PHI), a custom TimeTensor time-series wrapper, and supporting datasets such as Lorenz, Roessler, Mackey-Glass, NARMA, and MNIST. The repository is a library rather than an application: there are no web servers, CLIs, or service entry points; the primary interface is the Python package `echotorch` with submodules for neural network cells, datasets, transforms, costs, and utilities.
The LLM identified 3 files worth highlighting for reuse:
Self-predicting Echo State Network cell. Extends a standard ESN reservoir with a readout trained to predict the reservoir's own next state, enabling conceptor-based pattern generation and morphing. The cell is a self-contained PyTorch module that can be extracted for any reservoir-computing experiment.
Implements conceptor matrices and their algebra (AND, OR, NOT, PHI, etc.) for controlling reservoir states. This is a self-contained mathematical abstraction, independent of the rest of the library, and directly reusable in any project that needs conceptor-based pattern manipulation.
Base Echo State Network cell with pre/post step hooks, neural filter handlers, and post-states-update handlers. The hook mechanism provides a clean extension point for observing or modifying reservoir dynamics without forking the core cell, making it a reusable pattern for experiment instrumentation.