--- language: - en - zh tags: - robotics - pi05 - openpi - robotwin - aloha-agilex --- # Pi05 fine-tuned on RoboTwin (900 demonstrations) This repository contains the inference checkpoint from a Pi05 fine-tuning run on 900 RoboTwin Aloha AgileX demonstrations (159,568 frames), covering `place_object_basket`, `place_object_scale`, and `place_object_stand`. Training completed 15,000 steps on October 7, 2026 (UTC+08:00). The final checkpoint is `14999`, because steps are indexed from zero. The last logged training loss was 0.0013 at step 14900. No evaluation success rate is reported here; training loss does not establish task success. ## Files - `14999/params/`: JAX/Orbax model parameters (approximately 12 GiB). - `14999/assets/`: normalization statistics required for inference. - `14999/_CHECKPOINT_METADATA`: original checkpoint metadata. - `load_policy.py`: portable inference configuration and loading helper. - `openpi_inference_source.tar.gz`: snapshot of the local OpenPI source, client package, dependency declarations, lockfile, and upstream code license. Optimizer/training state and the demonstration dataset are not included. This is a JAX/Orbax checkpoint, not a Transformers `from_pretrained` model. The model repository hosts downloadable files, not a hosted inference endpoint. ## Download and install ```bash python -m pip install -U huggingface_hub hf download renbin1/pi05 --local-dir pi05 cd pi05 mkdir -p openpi_runtime tar -xzf openpi_inference_source.tar.gz -C openpi_runtime cd openpi_runtime uv sync --frozen --no-dev uv pip install huggingface_hub cd .. ``` Install `uv` first if it is not already available. Use Python 3.11 and a CUDA-compatible NVIDIA GPU environment. The training environment used JAX/JAXlib 0.5.3, Flax 0.10.2, Orbax Checkpoint 0.11.13, NumPy 1.26.4, and Torch 2.10.0. The bundled lockfile supplies the remaining dependencies. First use may download OpenPI tokenizer assets. ## Run inference Run the following Python code using `openpi_runtime/.venv/bin/python`, from the downloaded repository directory: ```python import numpy as np from load_policy import load_policy policy = load_policy("14999") observation = { "state": state.astype(np.float32), # real robot state, shape (14,) "images": { "cam_high": head_rgb, "cam_left_wrist": left_wrist_rgb, "cam_right_wrist": right_wrist_rgb, }, "prompt": instruction, } result = policy.infer(observation) actions = result["actions"] # shape (50, 14), joint/gripper action sequence ``` Supply actual observations: `state`, images, and `instruction` are placeholders. Images must be RGB uint8 arrays in HWC or CHW layout. Training images were 480x832 and the model transform resizes them to 224x224. The 14 state/action dimensions are ordered as left arm joints (6), left gripper (1), right arm joints (6), right gripper (1). Match the RoboTwin Aloha AgileX joint conventions. The loader preserves joint delta transforms internally and returns absolute actions; grippers remain absolute. `adapt_to_pi=False` matches training. Inference does not require the training dataset. ## Configuration and provenance Training configuration: `pi05_base_aloha_full_sim_robotwin_900_defaults`. Normalization asset ID: `RoboTwin-pi05_900-aloha_agilex-joint`. Architecture: `Pi0Config(pi05=True)`, action horizon 50, internal action width 32, with 14 robot action dimensions returned by the Aloha output transform. The source snapshot includes the custom training configuration. Its git base was XPolicyLab commit `9c98a3aaf02d05c6f9999a5a0a7a42090555ddf3`; local changes are captured in the snapshot, so the commit alone is not the complete source. The portable helper loads normalization from the downloaded checkpoint and does not depend on paths from the training machine. Upstream projects: [OpenPI](https://github.com/Physical-Intelligence/openpi), [XPolicyLab](https://github.com/XPolicyLab/XPolicyLab), and [RoboTwin](https://github.com/RoboTwin-Platform/RoboTwin). The code license is included in the source archive. This model card does not assign a new license to the weights; consult the applicable base-model and dataset terms before reuse or redistribution. Validation for this release checks file presence, normalization dimensions, and configuration construction. GPU inference and task evaluation have not been validated as part of the upload preparation.