Reexported API
using ReservoirComputing also brings a small, fixed set of names from LuxCore and WeightInitializers into scope, so the tutorials on this site run on using ReservoirComputing alone. ReservoirComputing does not document these names — it only reexports them. Their documentation lives with the packages that own them, linked below.
Model lifecycle (owned by LuxCore)
Every ReservoirComputing model is an AbstractLuxLayer, so it is built with the standard LuxCore lifecycle rather than a ReservoirComputing-specific one:
setup(rng, model)— allocate a model's parameters and states. This is the second line of essentially every tutorial:ps, st = setup(rng, esn), feedingtrainandpredict.apply(model, x, ps, st)— run a model on an input, returning the output and the updated state.
Owned and documented by LuxCore.
Custom layer interface (owned by LuxCore)
These are the two methods a custom reservoir cell implements; see Building a model to add to ReservoirComputing.jl and Developer Interfaces:
initialparameters(rng, layer)— the layer's trainable parameters.initialstates(rng, layer)— the layer's non-trainable state.
Owned and documented by LuxCore.
Anything else from LuxCore — AbstractLuxLayer, statelength, outputsize, replicate and the container-layer supertypes — must be imported from LuxCore directly. Those are extension hook points rather than names a model user calls.
Default weight initializers (owned by WeightInitializers)
The cell constructors take init_input, init_reservoir, init_bias, init_state and init_orthogonal keyword arguments. Most defaults are ReservoirComputing's own initializers (see Initializers), but five come from WeightInitializers and are reexported so that overriding one keyword does not force you to import the package just to name the defaults for the others:
zeros32— defaultinit_biason most cells, defaultinit_stateonLIFESNCell, and defaultinit_delayonDelayLayer.randn32— defaultinit_stateonESNCell,ES2NCell,ResESNCellandMemoryESNCell.rand32— defaultinit_weight/init_biasonLinearReadoutand defaultinit_biasonMemoryESNCell.orthogonal— defaultinit_orthogonalonES2NCellandResESNCell.sparse_init— the sparse sampler behindrand_sparseanddale_sparse.
Owned and documented by WeightInitializers.
The rest of the WeightInitializers surface — glorot_normal, glorot_uniform, kaiming_normal, kaiming_uniform, identity_init, truncated_normal and the 16/64-bit and complex ones*/rand*/randn*/zeros* variants — is not reexported and must be imported from WeightInitializers directly. They are all valid init_* arguments; ReservoirComputing simply does not name any of them as a default.