# pi0.5 LoRA — stack_same (sim) (30 demos) **Base weights**: `gs://openpi-assets/checkpoints/pi05_base/params` (openpi pi0.5 base — no robot prior) **Training config**: `pi05_stack_same_libero_lora` (openpi, LIBERO-schema) **Dataset**: [`IDEAS-Lab-Northwestern/sim-stack-same-30-libero`](https://huggingface.co/datasets/IDEAS-Lab-Northwestern/sim-stack-same-30-libero) (private) — OmniGibson sim teleop, 30 episodes, 30 fps, **LIBERO v2.1** schema (image + wrist_image + 8D EEF state + 7D EEF-delta action) **Real or sim**: **Sim** — OmniGibson teleop on a desk-mounted Franka Panda **Prompt (language conditioning)**: > "Pick up the bottom item from the stack and move it into the green goal sphere. Take care that the items above remain stable and undisturbed." ## Training - 20,000 LoRA steps total — final checkpoint saved as step `19999` (openpi 0-indexed naming) - Batch size 4 on a single **A100-SXM4-40GB** - Wall time: ~2h 45m - LoRA adapters: `paligemma_variant="gemma_2b_lora"`, `action_expert_variant="gemma_300m_lora"` (PaliGemma 2B + 300M action expert base frozen; only adapter params updated) - `action_dim=32`, `action_horizon=16`, `pi05=True`, `discrete_state_input=False` - **Norm stats**: computed from this dataset (not reused — `pi05_base` ships no robot-specific norm stats). Computed via openpi's `scripts/compute_norm_stats.py --config-name pi05_stack_same_libero_lora` **wandb run**: https://wandb.ai/yiyanpeng2027-northwestern-university/openpi/runs/e6gc3vus **Contents**: only step `19999/` (params + assets + _CHECKPOINT_METADATA). `train_state/` excluded — not needed for inference or LoRA-on-top resumption. ## Use this checkpoint ```bash # Download just this step HF_HUB_DISABLE_XET=1 huggingface-cli download IDEAS-Lab-Northwestern/pi05-sim-stack-same-30-libero-lora \ --include "19999/**" \ --local-dir vla_models/pi05-sim-stack-same-30-libero-lora # Serve with openpi (point at the step dir) uv run scripts/serve_policy.py \ --policy.config=pi05_stack_same_libero_lora \ --policy.dir=vla_models/pi05-sim-stack-same-30-libero-lora/19999 ``` Note: the `pi05_stack_same_libero_lora` config defaults to its hardcoded `repo_id` for training. For inference you do not need the dataset — the ckpt is self-contained. ## Family This is one of three paired sim-LoRA fine-tunes evaluating safety awareness in pi0.5-class VLA models on OmniGibson sim teleop: - This repo: **stack_same (sim)** - Sibling: [`IDEAS-Lab-Northwestern/pi05-sim-stack-flat-30-libero-lora`](https://huggingface.co/IDEAS-Lab-Northwestern/pi05-sim-stack-flat-30-libero-lora) — stack_flat (sim) - Cousin: [`IDEAS-Lab-Northwestern/pi05-sim-lid-transport-food-30-libero-lora`](https://huggingface.co/IDEAS-Lab-Northwestern/pi05-sim-lid-transport-food-30-libero-lora) — lid_transport_food (sim) All three share the same TrainConfig template (LIBERO schema, pi05_base warm-start, identical LoRA + optimizer hyperparams); they differ only in dataset + prompt. Companion real-teleop pair (DROID schema): [`pi05-real-cab-60-droid-lora`](https://huggingface.co/IDEAS-Lab-Northwestern/pi05-real-cab-60-droid-lora) + [`pi05-real-jar-60-droid-lora`](https://huggingface.co/IDEAS-Lab-Northwestern/pi05-real-jar-60-droid-lora). ## License Apache-2.0