--- license: apache-2.0 tags: - lerobot - pi0 - robotics - moonbot pipeline_tag: robotics --- # moonbot pi0 — three blocks stack pi0 fine-tuned from [`lerobot/pi0_base`](https://huggingface.co/lerobot/pi0_base) on [`gdiazsrl/three_blocks_stack_sep22`](https://huggingface.co/datasets/gdiazsrl/three_blocks_stack_sep22) (296 episodes, 519,684 frames, 9 block-stacking tasks). ## ⚠️ Checkpoint `020000` — training still in progress This is an **intermediate checkpoint at step 20,000 of 20,000**, published early so it can be evaluated while the run continues. It is not the final model. ## Training configuration | | | |---|---| | base | `lerobot/pi0_base` | | batch_size | 16 | | steps (total) | 20,000 | | dtype | bfloat16 | | gradient_checkpointing | true | | freeze_vision_encoder | false | | train_expert_only | false | | GPU | RTX PRO 6000 Blackwell (96 GB), ~39 GB used | ## Contents `pretrained_model/` only — `model.safetensors` plus the pre/post-processor configs. The optimizer state (~14 GB) is **not** included; this checkpoint is for inference and evaluation, not for resuming training. ## Deployment note Per Gustavo: open `config.json` in the downloaded checkpoint and **remove invalid fields such as `pretrained_revision`** before loading with `rosetta/policy_bridge_node.py`. ```bash python src/rosetta/rosetta/policy_bridge_node.py --ros-args \ -p contract_path:=/moonbot1.yaml \ -p policy_path:=/checkpoint-020000 ``` The deployment contract must match the dataset: this model was trained on **21-dim `observation.state`** (`joint_read` 8 + `tip_pos` 7 + `F_ee` 6).