外观
教程raw.githubusercontent.com6 天前
openpi:在 LIBERO 上准备 π0 / π0-FAST 微调基座并评估
> 本文依据以下官方文档整理:raw.githubusercontent.com/Physical-Intelligence/openpi/main/、raw.githubusercontent.com/Physical-Intelligence/openpi/main/。命令与版本以文档当前版本为准。
前置条件
- NVIDIA GPU:Inference 需要 > 8 GB,Fine-Tuning (LoRA) 需要 > 22.5 GB,Fine-Tuning (Full) 需要 > 70 GB
- 系统:Ubuntu 22.04;文档说明当前不支持其他操作系统
- 已安装 uv,用于管理 Python dependencies
- 仓库子模块已初始化;LIBERO 示例要求 git submodules initialized
- 推荐使用 Docker 运行 LIBERO 示例
1. 克隆 openpi 并初始化子模块
openpi 克隆时需要带上 submodules;如果已经克隆过仓库,则在仓库内执行子模块初始化命令。LIBERO 示例也明确要求初始化 git submodules。
bash
git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
## Or if you already cloned the repo:
git submodule update --init --recursive2. 安装 openpi Python 环境
openpi 使用 uv 管理 Python dependencies。uv 安装完成后,在仓库中同步依赖并以 editable 方式安装。文档说明 GIT_LFS_SKIP_SMUDGE=1 是拉取 LeRobot dependency 所需。
bash
GIT_LFS_SKIP_SMUDGE=1 uv sync
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .3. 确认 π0 / π0-FAST 微调基座
文档提供可用于 fine-tuning 的 base VLA model checkpoints:π0 对应 gs://openpi-assets/checkpoints/pi0_base,π0-FAST 对应 gs://openpi-assets/checkpoints/pi0_fast_base。这些 checkpoints 已在 10k+ hours of robot data 上预训练,可作为微调起点。
4. 用 Docker 启动 LIBERO 评估
LIBERO 示例推荐 Docker。先授予 Docker 访问 X11 server 的权限,再用默认 checkpoint 和 task suite 启动。若 Mujoco 出现 egl errors,文档给出 glx 启动方式。
bash
## Grant access to the X11 server:
sudo xhost +local:docker
## To run with the default checkpoint and task suite:
SERVER_ARGS="--env LIBERO" docker compose -f examples/libero/compose.yml up --build
## To run with glx for Mujoco instead (use this if you have egl errors):
MUJOCO_GL=glx SERVER_ARGS="--env LIBERO" docker compose -f examples/libero/compose.yml up --build5. 加载自定义 checkpoint 或切换任务套件
可通过额外的 SERVER_ARGS 自定义加载的 checkpoint,通过额外的 CLIENT_ARGS 设置 LIBERO task suite。示例要求 custom checkpoint 位于 top-level openpi/ directory。
bash
## To load a custom checkpoint (located in the top-level openpi/ directory):
export SERVER_ARGS="--env LIBERO policy:checkpoint --policy.config pi05_libero --policy.dir ./my_custom_checkpoint"
## To run the libero_10 task suite:
export CLIENT_ARGS="--args.task-suite-name libero_10"6. 不使用 Docker 时启动仿真与服务端
文档不推荐 without Docker,但给出了两终端流程。Terminal window 1 创建环境并运行 simulation;如有 egl errors,可改用 glx 命令。
bash
## Create virtual environment
uv venv --python 3.8 examples/libero/.venv
source examples/libero/.venv/bin/activate
uv pip sync examples/libero/requirements.txt third_party/libero/requirements.txt --extra-index-url https://download.pytorch.org/whl/cu113 --index-strategy=unsafe-best-match
uv pip install -e packages/openpi-client
uv pip install -e third_party/libero
export PYTHONPATH=$PYTHONPATH:$PWD/third_party/libero
## Run the simulation
python examples/libero/main.py
## To run with glx for Mujoco instead (use this if you have egl errors):
MUJOCO_GL=glx python examples/libero/main.pyTerminal window 2 运行 server:
bash
## Run the server
uv run scripts/serve_policy.py --env LIBERO验证是否跑通
LIBERO 评估能够启动 simulation 与 server,或 Docker compose 能完成构建并运行。若要复现实验表中结果,文档说明可评估 gs://openpi-assets/checkpoints/pi05_libero/;该 checkpoint 使用 pi05_libero config 在 openpi 中训练,表中 Average 为 96.85。
文档里点名的注意事项
GIT_LFS_SKIP_SMUDGE=1is needed to pull LeRobot as a dependency.- openpi repo has been tested with Ubuntu 22.04, and does not currently support other operating systems.
- current training script does not yet support multi-node training.
- When updating requirements.txt in examples/libero,
--extra-index-url https://download.pytorch.org/whl/cu113must be added to theuv pip compilecommand. - LIBERO Docker 运行前需要
sudo xhost +local:docker授予 X11 server 访问权限。 - 如遇 Mujoco egl errors,文档建议使用
MUJOCO_GL=glx。 - custom checkpoint 示例要求 checkpoint located in the top-level openpi/ directory。
相关 SDK 条目
来源
本页事实对应的公开页面,以原文为准。