openpi 环境搭建:三条命令跑通 Docker 部署与 GPU 配置
【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpi
openpi 是 Physical Intelligence 开源的机器人模型(VLA)工具包,包含 π₀、π₀-FAST、π₀.₅ 三条模型线,支持推理和微调。它的依赖栈不轻:uv、JAX、LeRobot,部分示例还依赖 ROS,中间很容易卡住。最快路径一句话:Ubuntu 22.04 加 Docker,三条命令跑完。
一分钟自检
动手前,花一分钟确认机器条件。官方只在 Ubuntu 22.04 上测试过,其他系统不保证能跑。
| 检查项 | 检查命令 | 通过标准 |
|---|---|---|
| 系统版本 | lsb_release -a | Ubuntu 22.04 |
| GPU | nvidia-smi | NVIDIA 显卡,显存大于 8GB(RTX 4090 起步) |
| 内存 | free -h | 8GB 以上 |
| 已有 Docker | docker version | 没装也行;若装的是 snap 版或 Docker Desktop,先卸载 |
三个补充判断:
- 显存分档:推理要 8GB 以上,LoRA 微调要 22.5GB 以上,全参微调要 70GB 以上。先定你要跑哪一档,再看卡够不够。
- Docker 必须是 rootless 模式安装;snap 版和 Docker Desktop 版都与 NVIDIA 容器工具包不兼容,GPU 会失效。
- 没有 NVIDIA 显卡也能跑,但要手动注释掉 compose 文件里的 GPU 资源块。
三条命令跑起来
整个流程就三条命令 ⚡ 第 2 步的两个脚本会把 GPG 密钥、apt 源、用户组、NVIDIA 运行时一次配好,你不用手动碰。
- 克隆仓库(必须带子模块):
git clone --recurse-submodules https://gitcode.com/GitHub_Trending/op/openpi--recurse-submodules不能省:机器人平台相关代码放在子模块里,漏了后面会直接报错。
- 安装 Docker 与 NVIDIA 容器工具包(仅限 Ubuntu 22.04):
bash scripts/docker/install_docker_ubuntu22.sh bash scripts/docker/install_nvidia_container_toolkit.sh第一条脚本装 docker-ce、把当前用户加进 docker 组并设置开机自启,跑完重启系统让权限生效;第二条配置 GPU 运行时。没有 GPU 可跳过第二条。
- 构建并启动容器:
docker compose -f scripts/docker/compose.yml up --build首次构建约 10 到 20 分钟,Docker 会缓存层,之后启动只需几秒。想跑某个具体示例,把文件换成docker compose -f examples/<示例名>/compose.yml up --build即可。不想用 Docker 的话,装好 uv 后在仓库里依次执行GIT_LFS_SKIP_SMUDGE=1 uv sync和uv pip install -e .。
避坑手册:按报错信息对号入座
出问题时,先看报错的第一行,再对照下表处理:
| 典型报错 | 常见原因 | 一行修复 |
|---|---|---|
permission denied ... docker.sock | 用户不在 docker 组,或加组后会话未刷新 | sudo usermod -aG docker $USER,注销重新登录 |
could not select device driver "nvidia" | 工具包缺失,或用了 snap 版 / Docker Desktop | 卸载 snap 的 docker 和 Desktop,重跑工具包脚本并重启 docker |
构建卡在pull或下载 | 网络访问境外镜像慢 | 配置国内镜像源后重新构建;首次构建无缓存,耐心等 |
uv sync依赖冲突 | .venv残留、uv 版本过旧 | 删除.venv目录,uv self update后重跑uv sync |
修完重跑刚才那条命令就行。权限问题反复出现时,运行groups | grep docker确认输出里有 docker 再说话。
跑起来之后:先看这三个地方
容器跑起来只是开始,仓库不大,先看这三处就够了:
- examples/:所有可运行示例都在这里,aloha_sim、aloha_real、droid、libero;没机器人的话用
simple_client,它能凭空造观测数据测通推理链路 - scripts/serve_policy.py 与 scripts/train.py:推理服务与微调训练的两个入口,参数写得很直白
- src/openpi/models/:三条模型线的定义都在这,训练超参集中在
src/openpi/training/config.py
Docker 细节和 rootless 要求,查 docs/docker.md。
环境就绪,去跑 examples/simple_client/ 做第一次无机器人推理吧。
【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考