experiments package
Subpackages
- experiments.equilibrium_propagation package
- Submodules
- experiments.equilibrium_propagation.models module
- experiments.equilibrium_propagation.pendigits_dataset module
- Module contents
- experiments.sclbridge package
Submodules
experiments.attractors_collective module
- experiments.attractors_collective.main(args)[source]
Generate coupled-reservoir trajectories and PCA summaries.
- Parameters:
args – Parsed command-line namespace with network, trajectory, and output settings.
- experiments.attractors_collective.plot_combined_pca(pca_results, out_dir, labels=None)[source]
Plot multiple PCA projections in one scatter figure.
- Parameters:
pca_results – List of arrays with shape
(n_samples, 2)or(n_samples, 3).out_dir – Directory where
pca_combined.pngis written.labels – Optional labels for the legend.
- Raises:
ValueError – If no PCA results are provided.
experiments.attractors_single module
- experiments.attractors_single.main(args)[source]
Generate single-reservoir trajectories and PCA artifacts.
- Parameters:
args – Parsed command-line namespace with reservoir, trajectory, and output settings.
- experiments.attractors_single.pca(all_states, pca_dim, out_dir, suffix_file='')[source]
Project reservoir states with PCA and save the projection artifacts.
- Parameters:
all_states – State matrix with shape
(n_samples, n_hidden).pca_dim – Projection dimensionality, either
2or3.out_dir – Directory where
.npyand plot files are written.suffix_file – Optional suffix inserted before output extensions.
- Returns:
PCA-transformed states.
- Raises:
ValueError – If
pca_dimis not2or3.
experiments.mnist_run module
- experiments.mnist_run.collect_activations(data_loader, model, initial_state, device, desc)[source]
Collect reservoir activations and labels from a data loader.
- Parameters:
data_loader – Loader yielding image batches and labels.
model – Unicycle reservoir used as a feature extractor.
initial_state – Template reservoir state for each batch.
device – Torch device for inference.
desc – Progress-bar description and error context.
- Returns:
Tuple
(activations, labels)as NumPy arrays.- Raises:
RuntimeError – If reservoir states contain NaNs.
- experiments.mnist_run.make_initial_state(batch_size, n_units, aligned_orientations, device)[source]
Sample an initial unicycle reservoir state.
- Parameters:
batch_size – Number of batch states to create.
n_units – Number of reservoir units.
aligned_orientations – If
True, all units share one angle.device – Torch device for returned tensors.
- Returns:
Tuple
(x, z, theta, s, omega).
- experiments.mnist_run.make_input_map(n_units, num_non_zero, min_value, max_value, device)[source]
Create a sparse random input map for a unicycle reservoir.
- Parameters:
n_units – Number of reservoir units.
num_non_zero – Number of non-zero entries to sample.
min_value – Minimum sampled value.
max_value – Maximum sampled value.
device – Torch device for the returned tensor.
- Returns:
Tensor with shape
(1, n_units).
- experiments.mnist_run.move_static_tensors(model, device)[source]
Move static reservoir tensors to the selected device.
- Parameters:
model – Unicycle reservoir instance.
device – Target Torch device.
- experiments.mnist_run.parse_args()[source]
Parse command-line arguments for the fixed MNIST experiment.
- Returns:
Parsed
argparse.Namespace.
- experiments.mnist_run.run_experiment(config, dataroot, batch_size, device)[source]
Run the fixed MNIST unicycle-reservoir experiment.
- Parameters:
config – Experiment configuration dictionary.
dataroot – Root directory for the MNIST dataset.
batch_size – Batch size for train/validation/test loaders.
device – Torch device for model execution.
- Returns:
Dictionary with
train,validation, andtestscores.- Raises:
RuntimeError – If collected activations contain NaNs.
- experiments.mnist_run.run_washup(model, initial_state, washup_steps, device)[source]
Run zero-input washup dynamics and return the settled state.
- Parameters:
model – Unicycle reservoir instance.
initial_state – Initial
(x, z, theta, s, omega)tuple.washup_steps – Number of zero-input simulation steps.
device – Torch device used for generated inputs.
- Returns:
Detached settled state tuple.
- experiments.mnist_run.score_esn(data_loader, model, classifier, scaler, initial_state, device, desc)[source]
Score a readout on scaled reservoir activations.
- Parameters:
data_loader – Loader to evaluate.
model – Reservoir feature extractor.
classifier – Fitted classifier exposing
score.scaler – Fitted scaler exposing
transform.initial_state – Template reservoir state.
device – Torch device for inference.
desc – Progress-bar description.
- Returns:
Classifier score.
- experiments.mnist_run.set_model_initial_state(model, batch_size, initial_state)[source]
Copy a template initial state into a model for a batch.
- Parameters:
model – Unicycle reservoir instance.
batch_size – Batch size to expand the state to.
initial_state – Tuple returned by
make_initial_state()orrun_washup().