本教程将带你快速部署并运行 OpenPI 推理服务端,并通过 客户端验证模型效果。
整个流程包含环境配置、依赖安装、模型下载、以及推理服务启动与测试。
conda create -n openpi python=3.11.13 -y
conda activate openpi
无需递归拉取子模块:
git clone https://github.com/Physical-Intelligence/openpi.git
cd openpi/
建议使用清华源加速依赖下载:
# 设置 pip 源为清华镜像
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
# 安装 uv 依赖管理工具
pip install uv
# 配置 uv 默认镜像源
export UV_DEFAULT_INDEX=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
# 跳过 LFS 大文件下载,快速同步依赖
GIT_LFS_SKIP_SMUDGE=1 uv sync
该步骤将拉取 Pi0.5 的 PyTorch 权重与归一化参数。
# 创建模型目录
mkdir -p pi_models/pytorch_checkpoints/
cd pi_models/pytorch_checkpoints/
# 从 ModelScope 克隆 Pi0.5 模型
git clone https://www.modelscope.cn/lerobot/pi05_libero.git
# 创建 assets 目录并写入归一化统计参数
mkdir -p pi05_libero/assets/physical-intelligence/libero
echo '{
"norm_stats": {
"state": {
"mean": [
-0.04363870248198509,
0.03525487706065178,
0.7637033462524414,
2.9673683643341064,
-0.2108035385608673,
-0.1297520250082016,
0.027788693085312843,
-0.028010232374072075
],
"std": [
0.10337679088115692,
0.15188011527061462,
0.38154250383377075,
0.3545231223106384,
0.929176390171051,
0.330748051404953,
0.014128931798040867,
0.013960899785161018
],
"q01": [
-0.3524468903720379,
-0.26824864755272865,
0.04083745917417109,
1.5317653684616088,
-2.7152330031871794,
-1.076538143157959,
0.001715825623134151,
-0.04003722561979666
],
"q99": [
0.13891278689503672,
0.3251991607129573,
1.2568962905768304,
3.26276856803894,
2.4437233173847197,
0.5638469840288161,
0.04030780866963323,
-0.0017131616945378486
]
},
"actions": {
"mean": [
0.026827840134501457,
0.08886060863733292,
-0.09983397275209427,
0.00024006747116800398,
0.0012838079128414392,
-0.0029443209059536457,
-0.1305243819952011
],
"std": [
0.3311910927295685,
0.37191954255104065,
0.45225635170936584,
0.03948824852705002,
0.06278067082166672,
0.07317619770765305,
0.9914451241493225
],
"q01": [
-0.747375,
-0.796125,
-0.9375,
-0.11580300460159779,
-0.16942972007393836,
-0.194502209174633,
-1.0
],
"q99": [
0.937125,
0.8594999999999999,
0.937125,
0.1402260055720806,
0.18103543001413347,
0.3115457148551941,
0.9996
]
}
}
}' > pi05_libero/assets/physical-intelligence/libero/norm_stats.json
💡 注:归一化应随着官方迭代而更新。
服务端默认将自动连接到 Hugging Face 镜像站。
export HF_ENDPOINT=https://hf-mirror.com
uv run scripts/serve_policy.py \
--env LIBERO \
policy:checkpoint \
--policy.config=pi05_libero \
--policy.dir=pi_models/pytorch_checkpoints/pi05_libero
启动后,你将看到类似以下输出,表示服务成功启动:
[INFO] Policy server listening on 0.0.0.0:8000
该客户端基于 OpenPI 框架中的 libero 示例 做了最小化修改,方便快速验证推理效果。
conda create -n pi0_demo python=3.10
conda activate pi0_demo
git clone https://github.com/yueduduo/pi0_fast_deploy.git
cd pi0_fast_deploy
pip install -r requirements.txt
修改 demo.py 中的 host 与 port(与服务端一致),然后运行:
python demo.py
若连接成功,输入prompt即可看到模型推理返回的动作结果和在mujoco仿真环境的模拟运行结果。
| 问题 | 解决方案 |
|---|---|
| 无法连接服务端 | 检查端口是否被占用或被防火墙拦截。 |
| 模型下载过慢 | 建议使用清华镜像源或提前手动下载模型。 |
| uv sync 失败 | 尝试删除 .venv 后重新执行同步命令。 |
| HF 连接失败 | 确认 HF_ENDPOINT=https://hf-mirror.com 是否已正确设置。 |