Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Workflow:ARISE Initiative Robomimic Hyperparameter Sweep

From Leeroopedia
Knowledge Sources
Domains Robot_Learning, Experiment_Management, Hyperparameter_Optimization
Last Updated 2026-02-15 07:30 GMT

Overview

End-to-end process for systematically sweeping hyperparameters across robomimic training runs by generating configuration variants and a launch script from a base experiment configuration.

Description

This workflow enables systematic exploration of the hyperparameter space for robot learning algorithms. Starting from a base JSON configuration that defines a complete experiment, users specify which parameters to sweep and their candidate values using the ConfigGenerator utility. Parameters can be grouped so that coupled settings vary together (e.g., RNN horizon and sequence length). The generator produces a combinatorial set of JSON config files and a shell script that launches all resulting training runs. This approach supports reproducible experiment design for benchmark studies and algorithm development.

Usage

Execute this workflow when you need to compare different hyperparameter settings for a given algorithm and task. Common scenarios include: tuning learning rates and network architectures for a new task, comparing algorithm variants (e.g., GMM vs. deterministic policy), running the full benchmark experiments from the robomimic paper, and ablation studies over model capacity or training parameters.

Execution Steps

Step 1: Base Configuration Creation

Prepare a base JSON configuration file that specifies a complete, valid experiment setup. This includes the algorithm name, dataset path, observation modalities, network architecture, training parameters, and evaluation settings. The base config serves as the template from which all sweep variants are derived. It can be created from the default algorithm templates, exported from a programmatic config, or obtained from a previous training run.

Key considerations:

  • The base config must be a complete, runnable configuration
  • Only parameters that differ from defaults need to be included
  • The config file path determines where generated variant configs are stored (same directory)
  • Algorithm-specific default templates are available in robomimic/exps/templates/

Step 2: Sweep Parameter Definition

Define the hyperparameters to sweep by modifying the make_generator function in the hyperparam_helper script. Each parameter is specified with a hierarchical key path (using "/" or "." separators), a short name for experiment naming, a group number for coupled parameters, and a list of candidate values. Parameters in the same group vary together (their value lists must have equal length), while parameters in different groups are combined combinatorially.

Key considerations:

  • Group number 0 is typically used for fixed overrides that apply to all variants
  • Value names can be provided for human-readable experiment naming when values are complex
  • The total number of generated configs equals the product of unique value counts across groups
  • Common sweep targets include learning rate, network dimensions, RNN settings, and loss weights

Step 3: Configuration Generation

Run the ConfigGenerator to produce all configuration variants and a shell launch script. For each combination of parameter values, the generator creates a new JSON config by copying the base config and applying the parameter overrides. Each generated config is named using the parameter short names and values for easy identification. The shell script contains one training command per config variant.

Key considerations:

  • Generated JSON files are placed in the same directory as the base config
  • Experiment names in generated configs incorporate the swept parameter values
  • The shell script uses the standard train.py entry point for each run
  • The generator reports the total number of configs to be created before writing

Step 4: Parallel Training Launch

Execute the generated shell script to launch all training runs. Each run is an independent invocation of the training pipeline with its own config file. Runs can be parallelized across multiple GPUs or machines by splitting the shell script. Results are written to separate output directories identified by experiment name and timestamp.

Key considerations:

  • Each training run is fully independent and can be distributed across compute resources
  • GPU assignment can be managed by modifying the shell script or using job schedulers
  • The paper experiment configs can be generated via the generate_paper_configs script
  • Results across sweep runs can be compared using TensorBoard or Weights & Biases

Execution Diagram

GitHub URL

Workflow Repository