# RACE_main_gr00t — GR00T N1.6 LIBERO checkpoints | folder | what | action chunk | notes | |---|---|---|---| | `teacher_h8/` | GR00T N1.6-3B fine-tuned on merged LIBERO (4 suites), 30k steps, batch 64 | 8 | starting point for the runs below (original, unmodified) | | `ft_h16_20k/` | teacher_h8 → fine-tuned with chunk 16, 20k steps | 16 | | | `ft_h24_20k/` | teacher_h8 → fine-tuned with chunk 24, 20k steps | 24 | | | `ft_h32_20k/` | teacher_h8 → fine-tuned with chunk 32, 20k steps | 32 | | Fine-tuning recipe (identical across H): stock Isaac-GR00T `n1.6-release`, embodiment `libero_panda` with `action.delta_indices = range(H)`, VLM frozen (`tune_llm=False, tune_visual=False, tune_top_llm_layers=0`), action head trained (`tune_projector/tune_diffusion_model/tune_vlln=True`), global batch 64 on 2 GPUs, lr 1e-4 cosine with 5% warmup, weight decay 1e-5, DeepSpeed ZeRO-2, bf16, data = `IPEC-COMMUNITY/libero_{spatial,object,goal,10}_no_noops_1.0.0_lerobot` merged. Checkpoints hold model weights + config + processor (optimizer state removed). Original LIBERO (50 episodes/task, executing the whole chunk), 20k step: | H | Spatial | Object | Goal | Long | Avg | |---|---|---|---|---|---| | 16 | 100.0 | 100.0 | 98.6 | 94.9 | 98.4 | | 24 | 100.0 | 100.0 | 98.4 | 89.6 | 97.0 | | 32 | 98.6 | 98.8 | 95.7 | 90.2 | 95.8 | Serving: `gr00t/eval/run_gr00t_server.py --model-path --embodiment-tag LIBERO_PANDA --use-sim-policy-wrapper`; the chunk length is read from the checkpoint's processor config. Note `teacher_h8/processor_config.json` carries a `letter_box_transform` key from a fork; delete it to load with stock n1.6.