Views
No views yet
model.safetensors — model weights (bfloat16, PaliGemma 2B VLM + 300M action expert)metadata.pt — full openpi TrainConfig snapshot + global_step (torch.load, weights_only=False)assets/agibot_g2/g2_0611_lerobot_openpi/norm_stats.json — normalization stats (quantile norm), recomputed for the H80 episode-boundary sampling (sha256 8bf450d0…)| base checkpoint | pi05_base_pytorch |
| action_dim / action_horizon | 32 (8 used: right arm 7 joints + gripper) / 80 |
| state input | discrete (discrete_state_input=True), state dims 8–15 |
| images | head_color, hand_left, hand_right (224×224) |
| actions | delta joint actions (gripper absolute), quantile-normalized |
| batch / steps | 30 (6× RTX 5090) / 10000 of 30000 (cosine LR, peak 2e-5, warmup 1k) |
| vision tower | frozen (OPENPI_FREEZE_VISION_TOWER=1) |
| checkpoint step | 10000 — best validation checkpoint (val_loss 0.0135; val rises after ~5k due to small 229-episode train set) |
agibot_g2/g2_0611_lerobot_openpi (LeRobot v3 format), 241 episodes / 111,345 frames @30fps, split 229 train / 12 val episodes.
Chunk sampling uses episode-level merged non-mistake spans (valid_interval_chunk_boundary="episode"): contiguous non-mistake intervals are merged, giving 60,888 train / 3,248 val H80 chunk starts (vs only 1,314/77 with the old per-interval boundary — the bug this run fixes).prompt_from_interval=False); use exactly this prompt at inference:抓取红色零件袋放在左边蓝色筐最远处的格子里,抓取黑色方块放在左边蓝色筐中间的格子里,抓取白色方块放在左边蓝色筐最近处的格子里| step | 5000 | 10000 | 15000 | 20000 | 25000 | 30000 |
|---|---|---|---|---|---|---|
| val_loss | 0.0120 | 0.0135 | 0.0155 | 0.0176 | 0.0188 | 0.0190 |
g2_0611_pi05_rightarm_nonmistake_h80_episode_6x5090_bs30_20260706_022213, config pi05_agibot_g2_0611_h80, openpi fork branch fix/h80-episode-chunks (+ local fix: repack no longer requires a per-sample prompt key when prompt_from_interval=False).