--- library_name: openpi tags: - pi0.5 - pi05 - so101 - lerobot - robotics - lora license: apache-2.0 --- # pi05-so101-lora-100demos LoRA fine-tune of [pi05_base](https://huggingface.co/openpi/pi05_base) on [jakegonz/pick-and-place-red-block-100demos](https://huggingface.co/datasets/jakegonz/pick-and-place-red-block-100demos). | Step | Folder | |------|--------| | 5000 | `step_5000/` | | 10000 | `step_10000/` | | 15000 | `step_15000/` | ## Training config - Base: `gs://openpi-assets/checkpoints/pi05_base/params` - Train config: `pi05_so101_lora` (PaliGemma 2B LoRA + Gemma 300M LoRA action expert) - Action horizon: 10 (≈0.33 s @ 30 Hz) - Batch size: 32 - LR schedule: cosine, peak 5e-5, warmup 500 steps, decay over 10k - Optimizer: AdamW with grad clip 1.0 ## Inference inputs (per step) ```text observation.state : float32 (6,) joint pos (5 arm + 1 gripper, 0=open/100=closed) observation.images.camera1 : uint8 wrist camera → maps to `left_wrist_0_rgb` observation.images.camera2 : uint8 overhead camera → maps to `base_0_rgb` prompt : "Pick up the red block and place it" ``` ## Loading ```python from openpi.policies import policy_config from openpi.training import config as _config cfg = _config.get_config("pi05_so101_lora") policy = policy_config.create_trained_policy(cfg, "step_15000") ``` Each step folder contains `params/`, `assets/`, and `_CHECKPOINT_METADATA` — the minimum required by `create_trained_policy`. The `train_state/` optimizer state is not included.