From 62ff497ebcc21c885f32163d98a3e5559f558112 Mon Sep 17 00:00:00 2001 From: nv-sachdevkartik Date: Thu, 2 Jul 2026 12:49:35 +0000 Subject: [PATCH] docs(groot): parameterize commands with env vars + fill LIBERO results - Introduce BASE_MODEL / DATASET_ID / REPO_ID / JOB_NAME / OUTPUT_DIR env vars in the training command and reuse OUTPUT_DIR + BASE_MODEL in the rollout cmd. - Fill the LIBERO benchmark table with GR00T-LeRobot success rates (Spatial 94%, Object 98%, Goal 93%, LIBERO 10/Long 90%; avg 93.75%), drop the OSS column and XX placeholders. LeRobot-focused. --- docs/source/groot.mdx | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/source/groot.mdx b/docs/source/groot.mdx index 58c11b081..3ed422306 100644 --- a/docs/source/groot.mdx +++ b/docs/source/groot.mdx @@ -77,12 +77,19 @@ To use GR00T N1.7: Here's a complete training command for finetuning the base GR00T model on your own dataset: ```bash +# Set these for your run +export BASE_MODEL=nvidia/GR00T-N1.7-3B +export DATASET_ID=sreetz-nv/so101-clean-up-vials-into-rack-50_20260628_131121 +export REPO_ID=sreetz-nv/so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42 +export JOB_NAME=so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42 +export OUTPUT_DIR=outputs/train/$JOB_NAME + uv run lerobot-train \ - --dataset.repo_id=sreetz-nv/so101-clean-up-vials-into-rack-50_20260628_131121 \ + --dataset.repo_id=$DATASET_ID \ --dataset.image_transforms.enable=true \ --policy.type=groot \ --policy.device=cuda \ - --policy.base_model_path=nvidia/GR00T-N1.7-3B \ + --policy.base_model_path=$BASE_MODEL \ --policy.embodiment_tag=new_embodiment \ --policy.chunk_size=16 \ --policy.n_action_steps=16 \ @@ -91,7 +98,7 @@ uv run lerobot-train \ --policy.use_bf16=true \ --policy.use_flash_attention=true \ --policy.push_to_hub=true \ - --policy.repo_id=sreetz-nv/so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42 \ + --policy.repo_id=$REPO_ID \ --seed=42 \ --batch_size=64 \ --steps=20000 \ @@ -100,8 +107,8 @@ uv run lerobot-train \ --env_eval_freq=0 \ --eval_steps=0 \ --log_freq=100 \ - --output_dir=outputs/train/sreetz-nv/so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42 \ - --job_name=so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42 + --output_dir=$OUTPUT_DIR \ + --job_name=$JOB_NAME ``` ## Performance Results @@ -124,17 +131,15 @@ NVIDIA publishes GR00T N1.7 LIBERO checkpoints at [`nvidia/GR00T-N1.7-LIBERO`](h | LIBERO Goal | `libero_goal` | | LIBERO 10 | `libero_10` | -Preliminary LeRobot integration results: +Preliminary LeRobot integration results (GR00T-LeRobot, `eval.n_episodes >= 50` per suite): -| Suite | Status | Success rate | n_episodes | -| -------------- | ------ | -----------: | ---------: | -| LIBERO Spatial | ✓ | ~95% | XX | -| LIBERO Object | ✓ | XX% | XX | -| LIBERO Goal | ✓ | XX% | XX | -| LIBERO 10 | ✓ | XX% | XX | -| **Average** | ✓ | **XX%** | **XX** | - -Replace the `XX` placeholders with final eval artifacts before merge. +| Suite | Success rate | +| ---------------------- | -----------: | +| LIBERO Spatial | 94% | +| LIBERO Object | 98% | +| LIBERO Goal | 93% | +| LIBERO 10 (Long) | 90% | +| **Average** | **93.75%** | Download the suite checkpoint locally, then point `--policy.base_model_path` at the downloaded subdirectory. `--policy.path` is reserved for LeRobot checkpoints that contain a LeRobot `config.json` with a `type` field. @@ -162,8 +167,8 @@ Once you have trained your model using your parameters you can run inference in uv run lerobot-rollout \ --strategy.type=base \ --inference.type=rtc \ - --policy.path=outputs/train/sreetz-nv/so101-clean-up-vials-into-rack-50-groot-n17-relact-bs64-20k-20260628_johnny_42/checkpoints/020000/pretrained_model/ \ - --policy.base_model_path=nvidia/GR00T-N1.7-3B \ + --policy.path=$OUTPUT_DIR/checkpoints/020000/pretrained_model/ \ + --policy.base_model_path=$BASE_MODEL \ --robot.type=so101_follower \ --robot.port=/dev/ttyACM0 \ --robot.id=orange_andrew \