@@ -74,36 +74,6 @@ field. Arena uses this name in command-line overrides, output directories, and r
7474Runs keep their YAML order and execute locally in that order.
7575
7676
77- Reuse values with ``shared ``
78- ----------------------------
79-
80- ``shared `` removes repetition. Arena applies these values to every Run, then places each Run's
81- own values on top. A Run only needs to declare what is different.
82-
83- Values are applied in this order, from lowest to highest priority:
84-
85- .. code-block :: text
86-
87- typed configuration defaults
88- ↓
89- shared values, including shared.* CLI overrides
90- ↓
91- values written in an individual Run
92- ↓
93- runs.<name>.* CLI overrides
94-
95- .. dropdown :: Configuration rules
96- :animate: fade-in
97-
98- * The only top-level fields are ``shared `` and ``runs ``.
99- * ``runs `` must contain at least one Run.
100- * A Run name starts with a letter or underscore. It can then contain letters, numbers,
101- underscores, or hyphens.
102- * An override can change a field on a Run declared in the YAML, but it cannot add another Run.
103- * A ``shared.* `` override must point to a field already present below ``shared ``. The Hydra
104- operators ``+ ``, ``++ ``, and ``~ `` are not supported for shared values.
105-
106-
10777.. _sequential-batch-experiment-runner :
10878
10979One definition, two execution paths
@@ -125,22 +95,43 @@ One definition, two execution paths
12595 Turns every Run into an independently scheduled group. Runs can execute at the same time
12696 when resources are available. OSMO then collects their outputs into one combined result.
12797
98+ The CLI override root depends on the execution path:
99+
128100.. tab-set ::
129101
130102 .. tab-item :: Run locally
131103
104+ The Experiment Runner receives the Experiment Definition directly.
105+
106+ * Use ``shared.<path>=<value> `` to change a shared value.
107+ * Use ``runs.<name>.<path>=<value> `` to change one Run.
108+
132109 .. code-block :: bash
133110
134111 python isaaclab_arena/evaluation/experiment_runner.py \
135- --experiment_config path/to/experiment.yaml
112+ --experiment_config path/to/experiment.yaml \
113+ shared.rollout_limit.num_steps=100
136114
137115 .. tab-item :: Preview an OSMO workflow
138116
117+ OSMO nests the Experiment below ``experiment_cfg ``, so Experiment overrides need that prefix.
118+
119+ * Use ``experiment_cfg.shared.<path>=<value> `` to change a shared value.
120+ * Use ``experiment_cfg.runs.<name>.<path>=<value> `` to change one Run.
121+
139122 .. code-block :: bash
140123
141124 python -m osmo.submit_arena_experiment \
142125 --experiment_cfg path/to/experiment.yaml \
143- --dry_run
126+ --dry_run \
127+ experiment_cfg.shared.rollout_limit.num_steps=100
128+
129+ If Hydra suggests ``+shared.<path>=<value> ``, do not add ``+ ``. Use
130+ ``experiment_cfg.shared.<path>=<value> `` instead.
131+
132+ Both commands override the same ``shared.rollout_limit.num_steps `` field declared in the
133+ Experiment Definition. A value written inside an individual Run still takes priority over the
134+ shared override.
144135
145136For remote policies, configure the policy client inside its Run like any other policy. Start the
146137policy server separately for local execution. OSMO can co-schedule a server for supported policy
@@ -152,6 +143,36 @@ For OSMO setup and submission options, see :doc:`Multi-node Evaluation
152143<../example_workflows/multi_node_evaluation/multi_node_evaluation>`.
153144
154145
146+ Reuse values with ``shared ``
147+ ----------------------------
148+
149+ ``shared `` removes repetition. Arena applies these values to every Run, then places each Run's
150+ own values on top. A Run only needs to declare what is different.
151+
152+ Values are applied in this order, from lowest to highest priority:
153+
154+ .. code-block :: text
155+
156+ typed configuration defaults
157+ ↓
158+ shared values, including shared.* CLI overrides
159+ ↓
160+ values written in an individual Run
161+ ↓
162+ runs.<name>.* CLI overrides
163+
164+ .. dropdown :: Configuration rules
165+ :animate: fade-in
166+
167+ * The only top-level fields are ``shared `` and ``runs ``.
168+ * ``runs `` must contain at least one Run.
169+ * A Run name starts with a letter or underscore. It can then contain letters, numbers,
170+ underscores, or hyphens.
171+ * An override can change a field on a Run declared in the YAML, but it cannot add another Run.
172+ * A shared override must point to a field already present below ``shared `` in the Experiment
173+ YAML. The Hydra operators ``+ ``, ``++ ``, and ``~ `` are not supported for shared values.
174+
175+
155176Choosing a runner
156177-----------------
157178
0 commit comments