Instructions to use zuoxingdong/pi05_fm_libero with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LeRobot
How to use zuoxingdong/pi05_fm_libero with LeRobot:
- Notebooks
- Google Colab
- Kaggle
Pi0.5 (flow matching) · LIBERO (100k) — matched baseline for Pi0.5-Drift
Pi0.5 is a vision-language-action model from Physical Intelligence that decodes an action
chunk by integrating a flow-matching ODE — 10 forward passes of the action expert per chunk.
This model is the matched flow-matching baseline of the Pi0.5-Drift budget study: same base
weights, data, initialization, batch, seed, and 100k LR schedule as
zuoxingdong/pi05_drift_libero; the
training objective is the only difference. Loads with vanilla LeRobot — no plugin needed.
- Drift concept & method: https://zuoxingdong.github.io/drift-vla/
- One-step Drift counterpart:
zuoxingdong/pi05_drift_libero - Training provenance plugin:
lerobot_policy_pi05_drift
Results
LIBERO, official lerobot-eval on lerobot==0.6.0,
3 eval seeds {1000, 1001, 1002}, 50 episodes/task, n_action_steps=10.
| Suite | FM — this model (10 NFE) | Drift (1 NFE) |
|---|---|---|
| libero_spatial | 98.5 ± 0.3 | 97.9 ± 1.0 |
| libero_object | 99.1 ± 0.6 | 99.0 ± 0.2 |
| libero_goal | 96.7 ± 0.5 | 98.1 ± 0.4 |
| libero_10 (long horizon) | 93.3 ± 0.7 | 94.7 ± 1.9 |
| Overall average | 96.9 | 97.4 |
Budget sweep — 25k/50k/75k/100k: FM 96.2 / 95.9 / 96.7 / 96.9 vs Drift 96.8 / 97.3 / 97.7 / 97.4.
Evaluation
Needs a graphics-capable node for the MuJoCo/LIBERO renderer, and access to the gated Pi0.5
tokenizer google/paligemma-3b-pt-224
(request access, then hf auth login).
pip install "lerobot[pi,libero]>=0.6.0,<0.7" "mujoco==3.3.2"
lerobot-eval \
--policy.path=zuoxingdong/pi05_fm_libero \
--policy.n_action_steps=10 \
--env.type=libero \
--env.task=libero_spatial \
--eval.n_episodes=50 \
--eval.batch_size=2 \
--eval.use_async_envs=true \
--seed=1000 \
--output_dir=eval/pi05_fm_libero
Finetune on your data
lerobot-train \
--policy.type=pi05 \
--policy.pretrained_path=zuoxingdong/pi05_fm_libero \
--policy.dtype=bfloat16 \
--policy.gradient_checkpointing=true \
--dataset.repo_id=lerobot/libero \
--dataset.revision=a1aaacb7f6cd6ee5fb43120f673cebb0cfea7dd4 \
--batch_size=56 \
--steps=10000
The dataset shown is the one this model was trained on —
lerobot/libero (LIBERO, LeRobot v3 format),
pinned to the training revision. To finetune on your own data, swap in your --dataset.repo_id.
Training details & provenance
- Base:
lerobot/pi05_liberoVLM with a freshly re-initialized action expert, full-parameter finetune onlerobot/libero(all four suites), MEAN_STD normalization, bf16, effective batch 56, LR 2.5e-5 cosine-decayed over 100k steps (this checkpoint = step 100k, schedule end), seed 1000,num_inference_steps=10. - Stack:
lerobot==0.6.0, trained via thelerobot_policy_pi05_driftplugin withuse_drifting_loss=false(the plugin provides the fresh-expert initialization; with the drift loss disabled its path is stock Pi0.5 flow matching). This release'sconfig.jsonis standard"type": "pi05"— weights byte-identical to the training checkpoint — so it loads with vanilla LeRobot.
License
Weights derive from Pi0.5 / PaliGemma and are distributed under the
Gemma license, matching the upstream
lerobot/pi05_libero release.
- Downloads last month
- 16