File size: 3,291 Bytes
1647ced | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | # pi0.5 LoRA β stack_flat (sim) (30 demos)
**Base weights**: `gs://openpi-assets/checkpoints/pi05_base/params` (openpi pi0.5 base β no robot prior)
**Training config**: `pi05_stack_flat_libero_lora` (openpi, LIBERO-schema)
**Dataset**: [`IDEAS-Lab-Northwestern/sim-stack-flat-30-libero`](https://huggingface.co/datasets/IDEAS-Lab-Northwestern/sim-stack-flat-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 flat object from under the stack and move it into the green goal sphere. Take care that the items resting on top 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_flat_libero_lora`
**wandb run**: https://wandb.ai/yiyanpeng2027-northwestern-university/openpi/runs/tess6u0n
**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-flat-30-libero-lora \
--include "19999/**" \
--local-dir vla_models/pi05-sim-stack-flat-30-libero-lora
# Serve with openpi (point at the step dir)
uv run scripts/serve_policy.py \
--policy.config=pi05_stack_flat_libero_lora \
--policy.dir=vla_models/pi05-sim-stack-flat-30-libero-lora/19999
```
Note: the `pi05_stack_flat_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_flat (sim)**
- Sibling: [`IDEAS-Lab-Northwestern/pi05-sim-stack-same-30-libero-lora`](https://huggingface.co/IDEAS-Lab-Northwestern/pi05-sim-stack-same-30-libero-lora) β stack_same (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
|