π0.5 trained on the 65 RoboCasa365 atomic tasks: one 50k-step cosine schedule
openpi (JAX) π0.5 checkpoint, config pi05_atomic65_50k of the openpi RoboCasa fork. It is the clean, single-schedule
version of ducido/pi05_atomic65_from_base, whose 50k
lineage restarted the optimizer three times (10k → 15k → 50k).
| Init | pi05_base (openpi) |
| Data | RoboCasa365 pretrain split, the 65 atomic tasks (all_atomic_tasks), human demos only, 7356 episodes / 1.50M frames; no composite-task data |
| Schedule | 50k steps, batch 64, warmup 1000, cosine 2.5e-5 → 2.5e-6 (~2.1 epochs) |
| Hardware | 4×A100-80GB, FSDP 4 |
Layout
Two step folders are kept, each with params/ (orbax) and assets/ (norm stats):
35000/: the best checkpoint of this run on the evaluation below;49999/: the end of the schedule.
The other step folders (10000/ … 40000/) were deleted on 2026-10-22, following a decision to keep only the best checkpoint.
The optimizer state is not included, so the checkpoint is for inference or fine-tuning, not for resuming training.
Evaluation (RoboCasa365, 65 atomic tasks, pretrain split, 5 episodes per task)
The client is openpi eval_g0, replanning every 5 steps, with seeds 700000 + episode for episodes 0–4 (325 episodes per checkpoint). The table gives the mean success rate over the 65 tasks.
| Step | 10k | 15k | 20k | 25k | 30k | 35k | 40k | 50k (49999) |
|---|---|---|---|---|---|---|---|---|
| SR | 57.2 | 60.0 | 64.0 | 65.2 | 66.2 | 70.5 | 68.3 | 69.2 |
- Reference: RoboCasa365
pi05_pretrain_human30075k, which was trained on 300 tasks, scores 40.3% on the same episodes (43.7% with 20 episodes per task). - Noise: with 5 episodes per task, the 95% CI is about ±5 points. The curve is flat from 35k: 35k vs 40k p = 0.42 and 35k vs 49999 p = 0.69 (paired McNemar), while 35k vs 25k is significant (p = 0.043).
Serving
uv run scripts/serve_policy.py policy:checkpoint --policy.config pi05_atomic65_50k --policy.dir <local copy of 35000/>