The robomimic framework consists of several modular components that interact to train and evaluate a policy:

  • Experiment config: a config object defines all settings for a training run

  • Data: an hdf5 dataset is loaded into a dataloader, which provides minibatches to the algorithm

  • Training: an algorithm object trains a set of models (including the policy)

  • Evaluation: the policy is evaluated in the environment by conducting a set of rollouts

  • Logging: experiment statistics, model checkpoints, and videos are saved to disk

These modules are encapsulated by the robomimic directory structure:

  • examples: examples to better understand modular components in the codebase

  • robomimic/algo: policy learning algorithm implementations

  • robomimic/config: default algorithm configs

  • robomimic/envs: wrappers for environments, used during evaluation rollouts

  • robomimic/exps/templates: config templates for experiments

  • robomimic/models: network implementations

  • robomimic/scripts: main repository scripts

  • robomimic/utils: a collection of utilities, including the SequenceDataset class to load datasets, and TensorUtils to work with nested tensor dictionaries