ExpoFT π₀.₅ — PickCube-v1 (SFT)
LoRA-finetuned checkpoint of π₀.₅ (pi05_droid_jointpos),
adapted to ManiSkill's PickCube-v1 task as part of the ExpoFT
reproduction project.
- Success rate: 22% on 200 held-out fixed-seed evaluation episodes (SE = sqrt(p(1-p)/n))
- Training: LoRA supervised fine-tuning on 50 motion-planning demonstrations
- Action space: joint-space (
pd_joint_delta_pos), matching pi0.5's DROID pretraining distribution - Normalization stats: official DROID stats (
gs://openpi-assets/checkpoints/pi05_droid_jointpos/assets/droid)
Important: requires a environment patch to evaluate correctly
ManiSkill's PickCube-v1 hides the goal marker from sensor cameras by
default. This checkpoint was trained and evaluated with a monkeypatch
(expo_ft/env/patches.py in the training repo below) that unhides it —
without applying the same patch, the environment will not expose the goal
position the policy was trained to rely on, and evaluation results will not
be representative.
Warning: JAX only
This checkpoint is in its native JAX/orbax format (as produced by
openpi training) and has
not been converted to PyTorch. openpi's official conversion script
(examples/convert_jax_model_to_pytorch.py) exists, but PyTorch-side LoRA
support is currently absent in openpi, and unresolved upstream issues
report output mismatches between JAX and converted PyTorch weights for
pi0.5 specifically -- so no PyTorch conversion is provided here.
Usage
Point pi05_weight_loader_path at the downloaded params/ directory when
building the model via openpi's CheckpointWeightLoader, using the
expo_pi05_droid_lora_finetune_sft_joint_state training config as the base.
Code
Training/eval pipeline: Josh012006/expo-ft