View on GitHub

Guide to the documentation

Where to find what, depending on what you are trying to do.

I want to…

Goal

Page

Run my first experiment

Tutorial

Describe parameters and nested objects

Configurations

Write the code of a task, and its dependencies

Tasks

Compare many parameter combinations

Plans and Grid search

Launch an experiment, and do it right

Running experiments

Drive experiments from YAML files

The CLI experiment runner

Run on a cluster, or on another machine

Launchers and Connectors

Watch what is running

Interfaces

Share a workspace with colleagues

Sharing a workspace

Collect and plot results

Analysis

Understand what is written on disk

Workspace layout

Look up a class or a command

API reference and CLI reference

🏁 Getting started

If you are new to the project, start with the Tutorial. It walks you through setting up your first workspace and running a basic experiment: training a CNN on MNIST.

πŸ§ͺ Building experiments

Learn how to define your workflow:

  • Configurations: the heart of Experimaestro. Define parameters, nested structures, and value classes.

  • Tasks: define the execution logic and manage dependencies β€” including resumable tasks and dynamic outputs.

  • Experimental Plans: compose tasks into complex matrices and track them using tags.

  • Experimaestro projects: how to lay out a project β€” the package, the run(helper, cfg) entry point, the YAML configuration, and the surrounding ecosystem.

▢️ Running and monitoring

Take an experiment from your editor to results:

  • Running experiments: the two ways to launch an experiment, and the practices that keep results reusable β€” workspaces, shared workspaces, identifier stability, cluster runs, recovery.

  • The CLI experiment runner: the YAML configuration format and experimaestro run-experiment.

  • Interfaces: follow experiments from the terminal UI, the web UI, or over SSH.

  • Actions and Analysis: act on jobs, then collect and compare their results.

  • Workspace layout: what experimaestro writes on disk, and how to read it.

βš™οΈ Execution and infrastructure

Control where and how your code runs:

  • Launchers: manage execution environments (Direct, Slurm, OAR).

  • Connectors: abstract file access and command execution (Local, SSH).

  • Settings: workspaces, auxiliary folders, remote workspaces, and lock file permissions.

πŸ› οΈ Advanced tools

πŸ“š Reference