Hero Image of content
Pi0.5 Pytorch版本的部署

OpenPI 服务端与客户端快速开始指南


本教程将带你快速部署并运行 OpenPI 推理服务端,并通过 客户端验证模型效果

整个流程包含环境配置、依赖安装、模型下载、以及推理服务启动与测试。


1. 服务端快速开始

1.1 创建并激活环境

conda create -n openpi python=3.11.13 -y
conda activate openpi

1.2 克隆项目代码

无需递归拉取子模块:

git clone https://github.com/Physical-Intelligence/openpi.git
cd openpi/

1.3 安装项目依赖

建议使用清华源加速依赖下载:

# 设置 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

1.4 下载 Pi0.5 模型与配置文件

该步骤将拉取 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

💡 注:归一化应随着官方迭代而更新。


1.5 启动推理服务

服务端默认将自动连接到 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

2. 客户端快速开始

该客户端基于 OpenPI 框架中的 libero 示例 做了最小化修改,方便快速验证推理效果。

2.1 创建环境并安装依赖

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

2.2 运行 Demo

修改 demo.py 中的 hostport(与服务端一致),然后运行:

python demo.py

若连接成功,输入prompt即可看到模型推理返回的动作结果和在mujoco仿真环境的模拟运行结果。


3. 常见问题(FAQ)

问题 解决方案
无法连接服务端 检查端口是否被占用或被防火墙拦截。
模型下载过慢 建议使用清华镜像源或提前手动下载模型。
uv sync 失败 尝试删除 .venv 后重新执行同步命令。
HF 连接失败 确认 HF_ENDPOINT=https://hf-mirror.com 是否已正确设置。