API reference
Layers
Layers available for inputs, reservoirs, readouts, etc.
The objects must be explicitly imported:
import water_tank as wt
rc = wt.layers.RecurrentLayer(size=200, tau=3.0)| RecurrentLayer | Reservoir of recurrently connected neurons. |
| LinearReadout | Linear readout layer. Performs a weighted sum of its inputs, without dynamics. |
| StaticInput | Static placeholder for input vectors. |
| TimeSeriesInput | Dynamic placeholder for series of input vectors. |
Projections
Connecting layers with each other.
| connect | Connects two layers with a (sparse) weight matrix and optionally a bias vector. |
Learning rules
Learning rules for online training of a projection.
The objects must be explicitly imported:
import water_tank as wt
lr = wt.rules.RLS(projection=esn_rc, delta=1e-6)| DeltaLearningRule | Delta learning rule (online linear regression). |
| RLS | Recursive least-squares (RLS) learning rule for FORCE learning. |
Random distributions
Simple wrappers around numpy’s random distributions.
The objects must be explicitly imported:
import water_tank as wt
values = wt.random.Uniform.uniform(-1., 1.).sample((10, 10))| Const | Constant “random” distribution, returning the same value. |
| Uniform | Uniform distribution, returning values between min and max. |
| Normal | Normal distribution, returning values with a mean of mean and a standard deviation of std. |
| Bernouilli | Bernouilli (binomial) distribution, returning the first of the two values with probability p. |
Utilities
Various tools to facilitate simulations.
| Recorder | Data structure to record activities during a simulation. |