Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Principle:Facebookresearch Habitat lab Configuration Composition

From Leeroopedia
Revision as of 17:37, 16 February 2026 by Admin (talk | contribs) (Auto-imported from principles/Facebookresearch_Habitat_lab_Configuration_Composition.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Configuration_Management, Software_Architecture
Last Updated 2026-02-15 02:00 GMT

Overview

A hierarchical configuration composition pattern that merges YAML-defined defaults with runtime overrides to produce a single immutable experiment configuration.

Description

Configuration Composition in Habitat-Lab uses the Hydra framework with OmegaConf to compose experiment configurations from multiple YAML fragments. The system follows a layered approach: base defaults define the framework structure, task-specific configs add sensor/measure/action definitions, and experiment configs overlay training hyperparameters. Runtime CLI overrides provide final customization.

This pattern decouples experiment definition from code, enabling reproducible experiments through config files alone. The structured config dataclasses provide type-safety and IDE support.

Usage

Use this principle whenever launching a training run, evaluation, or interactive session. Configuration composition is the universal entry point for all Habitat workflows.

Theoretical Basis

The composition follows a precedence chain:

  1. Structured defaults: Python dataclasses define typed schema with default values
  2. YAML base configs: Task/simulator/dataset YAML fragments are composed via Hydra defaults lists
  3. Experiment overrides: Experiment-specific YAML files set training hyperparameters
  4. CLI overrides: Runtime arguments override any prior value (highest precedence)

Pseudo-code:

# Abstract composition algorithm
config = merge(
    structured_defaults,     # Python dataclasses
    yaml_base_configs,       # Hydra defaults composition
    experiment_overrides,    # Experiment YAML
    cli_overrides            # Runtime arguments
)
config = freeze(config)      # Make immutable

Related Pages

Implemented By

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment