experiments package

Subpackages

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.png is 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 2 or 3.

  • out_dir – Directory where .npy and plot files are written.

  • suffix_file – Optional suffix inserted before output extensions.

Returns:

PCA-transformed states.

Raises:

ValueError – If pca_dim is not 2 or 3.

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, and test scores.

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() or run_washup().

experiments.utils module

experiments.utils.set_seed(seed: int)[source]

Seed Python, NumPy, and Torch random generators.

Parameters:

seed – Seed value applied to CPU and, when available, CUDA RNGs.

Module contents