Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/reference/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
---
sidebar_position: 2
title: Reference
Expand All @@ -22,7 +22,7 @@
| [Script Reference](scripts.md) | Submission script inventory, CLI arguments, and configuration | Available |
| [Script Examples](scripts-examples.md) | Detailed examples for training, inference, and pipeline submission | Available |
| [Copilot Artifacts](copilot-artifacts.md) | Agents, instructions, prompts, and skills inventory | Available |
| Workflow Templates | AzureML and OSMO workflow YAML templates and configuration | Coming soon |
| [Workflow Templates](workflow-templates-azureml.md) | AzureML and OSMO workflow YAML templates and configuration ([AzureML](workflow-templates-azureml.md), [OSMO](workflow-templates-osmo.md)) | Available |
Comment thread
nguyena2 marked this conversation as resolved.
Outdated
| Terraform Variables | Terraform input variables and outputs reference | Coming soon |
| Environment Variables | Environment variables for training and deployment | Coming soon |

Expand Down
75 changes: 75 additions & 0 deletions docs/reference/workflow-templates-azureml.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Workflow Templates (AzureML)
description: Canonical AzureML workflow template reference for training and evaluation jobs.
author: Microsoft Robotics-AI Team
ms.date: 2026-04-01
ms.topic: reference
keywords:
- azureml
- workflows
- templates
- training
- evaluation
---

Canonical AzureML workflow templates for RL and LeRobot training and evaluation.
Template names, defaults, and paths in this page are derived from the YAML files
in `training/` and `evaluation/`.

## Template Inventory

| Template | Purpose | Source YAML path | Typical submit path |
| --- | --- | --- | --- |
| `train.yaml` | IsaacLab RL training job structure | `training/rl/workflows/azureml/train.yaml` | `training/rl/scripts/submit-azureml-training.sh` |
| `lerobot-train.yaml` | LeRobot behavioral cloning training job structure | `training/il/workflows/azureml/lerobot-train.yaml` | `training/il/scripts/submit-azureml-lerobot-training.sh` |
| `validate.yaml` | IsaacLab policy validation against registered models | `evaluation/sil/workflows/azureml/validate.yaml` | `evaluation/sil/scripts/submit-azureml-validation.sh` |
| `lerobot-eval.yaml` | LeRobot policy evaluation and optional model registration | `evaluation/sil/workflows/azureml/lerobot-eval.yaml` | `evaluation/sil/scripts/submit-azureml-lerobot-eval.sh` |

## train.yaml

| Field | Details |
| --- | --- |
| Purpose | Structural template for IsaacLab RL training submissions in AzureML. |
| Source YAML path | `training/rl/workflows/azureml/train.yaml` |
| Primary parameters and overrides | `inputs.task` (`Isaac-Velocity-Rough-Anymal-C-v0`), `inputs.num_envs` (`"2048"`), `inputs.max_iterations` (`"600"`), `inputs.checkpoint_mode` (`from-scratch`), `inputs.checkpoint_uri` (`none`), `inputs.register_checkpoint` (`none`), `inputs.run_azure_smoke_test` (`"false"`). |
| Typical submit path | `training/rl/scripts/submit-azureml-training.sh` |
| Usage notes | Keep template values as structural defaults. The submit script sets runtime command, compute, and Azure context. |

## lerobot-train.yaml

| Field | Details |
| --- | --- |
| Purpose | Structural template for LeRobot ACT or Diffusion training on AzureML. |
| Source YAML path | `training/il/workflows/azureml/lerobot-train.yaml` |
| Primary parameters and overrides | `inputs.dataset_repo_id` (`none`), `inputs.policy_type` (`act`), `inputs.job_name` (`lerobot-act-training`), `inputs.output_dir` (`/workspace/outputs/train`), `inputs.training_steps` (`none`), `inputs.batch_size` (`none`), `inputs.eval_freq` (`none`), `inputs.save_freq` (`"5000"`), `inputs.register_checkpoint` (`none`). |
| Typical submit path | `training/il/scripts/submit-azureml-lerobot-training.sh` |
| Usage notes | Use script flags for policy source and hyperparameters. Secrets such as HuggingFace and WANDB values are injected at submission time. |

## validate.yaml

| Field | Details |
| --- | --- |
| Purpose | Structural template for IsaacLab validation jobs against registered models. |
| Source YAML path | `evaluation/sil/workflows/azureml/validate.yaml` |
| Primary parameters and overrides | `inputs.trained_model.path` (`azureml:placeholder:1`), `inputs.task` (`auto`), `inputs.framework` (`auto`), `inputs.eval_episodes` (`100`), `inputs.num_envs` (`64`), `inputs.success_threshold` (`-1.0`). |
| Typical submit path | `evaluation/sil/scripts/submit-azureml-validation.sh` |
| Usage notes | The script resolves model metadata and passes overrides with `--set`. The template intentionally uses sentinel defaults (`auto`, placeholder paths). |

## lerobot-eval.yaml

| Field | Details |
| --- | --- |
| Purpose | Structural template for LeRobot evaluation and optional model registration on AzureML. |
| Source YAML path | `evaluation/sil/workflows/azureml/lerobot-eval.yaml` |
| Primary parameters and overrides | `inputs.policy_repo_id` (`none`), `inputs.policy_type` (`act`), `inputs.dataset_repo_id` (`none`), `inputs.eval_episodes` (`"10"`), `inputs.eval_batch_size` (`"10"`), `inputs.record_video` (`"false"`), `inputs.mlflow_enable` (`"false"`), `inputs.register_model` (`none`), `inputs.blob_storage_container` (`datasets`). |
| Typical submit path | `evaluation/sil/scripts/submit-azureml-lerobot-eval.sh` |
| Usage notes | This template is the canonical AzureML LeRobot evaluation reference. |

## Usage Notes

| Topic | Guidance |
| --- | --- |
| Source of truth | Use YAML files in `training/` and `evaluation/` for template names, keys, and defaults. |
| Override pattern | Treat templates as structure-first; submission scripts provide runtime command and environment-specific values. |
| Azure context | Set `subscription_id`, `resource_group`, and `workspace_name` through script options or environment variables. |
| Related reference | See [Reference index](README.md) for adjacent script and artifact guides. |
86 changes: 86 additions & 0 deletions docs/reference/workflow-templates-osmo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Workflow Templates (OSMO)
description: Canonical OSMO workflow template reference for training and evaluation jobs.
author: Microsoft Robotics-AI Team
ms.date: 2026-04-01
ms.topic: reference
keywords:
- osmo
- workflows
- templates
- training
- evaluation
---

Canonical OSMO workflow templates for RL and LeRobot training and evaluation.
Template names in this page are based on current YAML files and exclude stale
legacy naming.

## Template Inventory

| Template | Purpose | Source YAML path | Typical submit path |
| --- | --- | --- | --- |
| `train.yaml` | IsaacLab RL training with inline payload archive | `training/rl/workflows/osmo/train.yaml` | `training/rl/scripts/submit-osmo-training.sh` |
| `train-dataset.yaml` | IsaacLab RL training with dataset folder injection | `training/il/workflows/osmo/train-dataset.yaml` | `training/il/scripts/submit-osmo-dataset-training.sh` |
| `lerobot-train.yaml` | LeRobot ACT or Diffusion training workflow | `training/il/workflows/osmo/lerobot-train.yaml` | `training/il/scripts/submit-osmo-lerobot-training.sh` |
| `eval.yaml` | IsaacLab checkpoint evaluation workflow | `evaluation/sil/workflows/osmo/eval.yaml` | `evaluation/sil/scripts/submit-osmo-eval.sh` |
| `lerobot-eval.yaml` | LeRobot policy evaluation workflow | `evaluation/sil/workflows/osmo/lerobot-eval.yaml` | `evaluation/sil/scripts/submit-osmo-lerobot-eval.sh` |

## train.yaml

| Field | Details |
| --- | --- |
| Purpose | OSMO RL training using a base64-encoded runtime payload. |
| Source YAML path | `training/rl/workflows/osmo/train.yaml` |
| Primary parameters and overrides | `default-values.task` (`Isaac-Velocity-Rough-Anymal-C-v0`), `default-values.num_envs` (`"2048"`), `default-values.max_iterations` (empty), `default-values.checkpoint_mode` (`from-scratch`), `default-values.training_backend` (`skrl`), `default-values.gpu` (`"1"`), `default-values.cpu` (`"30"`). |
| Typical submit path | `training/rl/scripts/submit-osmo-training.sh` |
| Usage notes | Use for RL training when shipping the runtime payload inline. Script flags typically override task, resources, and checkpoint behavior. |

## train-dataset.yaml

| Field | Details |
| --- | --- |
| Purpose | OSMO RL training that mounts training code from an uploaded dataset path. |
| Source YAML path | `training/il/workflows/osmo/train-dataset.yaml` |
| Primary parameters and overrides | `default-values.dataset_bucket` (`training`), `default-values.dataset_name` (`training-code`), `default-values.task` (`Isaac-Velocity-Rough-Anymal-C-v0`), `default-values.num_envs` (`"2048"`), `default-values.checkpoint_mode` (`from-scratch`), `default-values.training_backend` (`skrl`). |
| Typical submit path | `training/il/scripts/submit-osmo-dataset-training.sh` |
| Usage notes | Use when payload size or reuse favors dataset-based delivery. The script stages and uploads training sources before submission. |

## lerobot-train.yaml

| Field | Details |
| --- | --- |
| Purpose | OSMO LeRobot training with optional Azure Blob dataset source and checkpoint registration. |
| Source YAML path | `training/il/workflows/osmo/lerobot-train.yaml` |
| Primary parameters and overrides | `default-values.policy_type` (`act`), `default-values.dataset_repo_id` (empty), `default-values.training_steps` (`"100000"`), `default-values.batch_size` (`"32"`), `default-values.learning_rate` (`"1e-4"`), `default-values.save_freq` (`"5000"`), `default-values.storage_container` (`datasets`), `default-values.register_checkpoint` (empty). |
| Typical submit path | `training/il/scripts/submit-osmo-lerobot-training.sh` |
| Usage notes | Supports HuggingFace and blob-backed datasets. Keep policy type and data source aligned with script flags to avoid mixed-source configuration. |

## eval.yaml

| Field | Details |
| --- | --- |
| Purpose | OSMO IsaacLab checkpoint evaluation for policy export and validation. |
| Source YAML path | `evaluation/sil/workflows/osmo/eval.yaml` |
| Primary parameters and overrides | `default-values.task` (`Isaac-Ant-v0`), `default-values.num_envs` (`"4"`), `default-values.max_steps` (`"500"`), `default-values.video_length` (`"200"`), `default-values.checkpoint_uri` (empty), `default-values.inference_format` (`both`). |
| Typical submit path | `evaluation/sil/scripts/submit-osmo-eval.sh` |
| Usage notes | Requires checkpoint URI at submission. Use `inference_format` to control ONNX/JIT export behavior for downstream use. |

## lerobot-eval.yaml

| Field | Details |
| --- | --- |
| Purpose | OSMO LeRobot evaluation for HuggingFace or AzureML model sources, with optional registration. |
| Source YAML path | `evaluation/sil/workflows/osmo/lerobot-eval.yaml` |
| Primary parameters and overrides | `default-values.policy_repo_id` (empty), `default-values.policy_type` (`act`), `default-values.dataset_repo_id` (empty), `default-values.eval_episodes` (`"10"`), `default-values.eval_batch_size` (`"10"`), `default-values.record_video` (`"false"`), `default-values.mlflow_enable` (`"false"`), `default-values.register_model` (empty), `default-values.blob_storage_container` (`datasets`). |
| Typical submit path | `evaluation/sil/scripts/submit-osmo-lerobot-eval.sh` |
| Usage notes | This is the canonical LeRobot OSMO evaluation template. |

## Usage Notes

| Topic | Guidance |
| --- | --- |
| Source of truth | Use YAML files under `training/` and `evaluation/` as the canonical inventory. |
| Submission flow | Submit through the companion scripts listed above to resolve defaults from CLI, env vars, and Terraform outputs. |
| Runtime packaging | RL workflows use inline payload or dataset injection; choose based on payload size and reuse needs. |
| Related reference | See [Reference index](README.md) for adjacent script and artifact guides. |
Loading
Loading