ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

openpi 完整上手指南:从安装到微调,5 条命令跑通 VLA 模型

openpi 完整上手指南:从安装到微调,5 条命令跑通 VLA 模型 openpi 完整上手指南从安装到微调5 条命令跑通 VLA 模型【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpiopenpi 是 Physical Intelligence 团队开源的机器人智能体工具包内置 π₀、π₀-FAST、π₀.₅ 三种 VLA视觉-语言-动作模型基础检查点均用上万小时机器人数据预训练。你可以直接加载专家检查点做推理也可以用自己的数据微调基础检查点再通过 WebSocket 策略服务接上真机。本文按“安装 → 选模型 → 微调”的顺序走一遍。一、openpi 能干什么三个真实场景openpi 不是一个单点 demo而是一套从“数据 → 模型 → 机器人”的工具链。典型用法有三类自有机器人上跑推理但机器人本体算力不够把模型放到 GPU 服务器动作经 WebSocket 流式传回机器人机器人端只需轻量 openpi-client两套环境天然隔离。客户端怎么嵌入见 docs/remote_inference.md。手头没机器人只想验证链路examples/simple_client 脚本会生成随机观察发给服务并打印真实推理频率方便压测。想让模型学会你的任务仓库自带 LIBERO 微调全流程示例数据与配置换成自己的即可复用。二、openpi 安装uv 两条命令 Docker 备选系统要求是 Ubuntu 22.04官方唯一测试过的系统加一张 NVIDIA GPU。显存先对号入座模式最低显存参考显卡推理 8 GBRTX 4090微调LoRA 22.5 GBRTX 4090全参微调 70 GBA100 80GB / H100原生路线分两步克隆加 uvgit clone --recurse-submodules https://gitcode.com/GitHub_Trending/op/openpiGIT_LFS_SKIP_SMUDGE1 uv sync GIT_LFS_SKIP_SMUDGE1 uv pip install -e .提示第二条必须带GIT_LFS_SKIP_SMUDGE1环境变量否则拉 LeRobot数据读取依赖会报错已有仓库时跑git submodule update --init --recursive补齐子模块。系统配置卡壳时可切到官方 Docker 备选还能绕开 ROS 安装docker compose -f scripts/docker/compose.yml up --buildDocker 的 rootless 模式、NVIDIA toolkit 等前置细节见 docs/docker.md。三、检查点选型表基础版微调专家版推理结论先行base基础检查点拿来做微调fine-tuned专家检查点直接推理。架构差异各一句话π₀流匹配flow matching头生成动作序列。π₀-FAST基于 FAST 动作分词器自回归产出动作推理更快。π₀.₅π₀ 的升级版用知识绝缘训练改善开放世界泛化当前仓库对它的训练与推理仅支持流匹配头。检查点会从gs://openpi-assets自动下载并缓存到~/.cache/openpi可用OPENPI_DATA_HOME换缓存位置。选型表检查点类别用途路径π₀基础微调起点gs://openpi-assets/checkpoints/pi0_baseπ₀-FAST基础微调起点gs://openpi-assets/checkpoints/pi0_fast_baseπ₀.₅基础微调起点gs://openpi-assets/checkpoints/pi05_baseπ₀-FAST-DROID专家推理桌面操作 0-shot 泛化好gs://openpi-assets/checkpoints/pi0_fast_droidπ₀-DROID专家微调/推理更快但语言跟随弱一些gs://openpi-assets/checkpoints/pi0_droidπ₀-ALOHA-towel / tupperware / pen-uncap专家推理叠毛巾、开饭盒、拔笔盖gs://openpi-assets/checkpoints/pi0_aloha_*π₀.₅-LIBERO专家推理LIBERO 基准 SOTAgs://openpi-assets/checkpoints/pi05_liberoπ₀.₅-DROID专家推理/微调速度快且语言跟随好gs://openpi-assets/checkpoints/pi05_droid四、第一次推理最小可运行代码推理链路只有 3 步拿配置、取检查点、建 policy 调inferfrom openpi.training import config as _config from openpi.policies import policy_config from openpi.shared import downloadconfig _config.get_config(pi05_droid) ckpt download.maybe_download(gs://openpi-assets/checkpoints/pi05_droid) policy policy_config.create_trained_policy(config, ckpt) actions policy.infer(example)[actions]example是一个 dict两张观察图observation/exterior_image_1_left、observation/wrist_image_left加一条语言指令prompt完整版可对照 examples/inference.ipynb。提示openpi 部署时也可把模型放更强的 GPU 服务器动作经 WebSocket 流式推给机器人机器人端不用承担推理负载。五、openpi 微调三步走数据、训练、策略服务以 LIBERO 示例链路为参照自己的数据同样三步。第一步数据转换。把原始数据变成 LeRobot 数据集openpi 训练用的数据格式uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/libero/data提示只微调 LIBERO 的话这步可跳过示例配置已指向转换好的数据集。第二步算归一化统计再训练。归一化统计把状态/动作各维度拉到标准区间必须先算uv run scripts/compute_norm_stats.py --config-name pi05_liberoXLA_PYTHON_CLIENT_MEM_FRACTION0.9 uv run scripts/train.py pi05_libero --exp-namemy_experiment --overwrite数据映射在 LiberoInputs / LiberoOutputs超参、数据与权重加载在 TrainConfig两处都要按自己的任务改。检查点落在checkpoints/目录XLA_PYTHON_CLIENT_MEM_FRACTION0.9让 JAX 用满 90% 显存默认 75%。第三步起策略服务。指向训练好的检查点以 20,000 步为例uv run scripts/serve_policy.py policy:checkpoint --policy.configpi05_libero --policy.dircheckpoints/pi05_libero/my_experiment/20000服务默认监听 8000 端口机器人端或评测脚本把观察发过去即可拿到动作。六、PyTorch 路线检查点转换与多卡训练2025 年 9 月起openpi 提供 π₀ 与 π₀.₅ 的 PyTorch 版本已在 LIBERO 上验证暂不支持 π₀-FAST、混合精度、FSDP全分片数据并行、LoRA 和 EMA。步骤 1打 transformers 补丁覆盖 .venv 里 3 个文件支持 AdaRMS 等改动cp -r ./src/openpi/models_pytorch/transformers_replace/* .venv/lib/python3.11/site-packages/transformers/提示uv 默认 hardlink 模式下改动会写进 uv 缓存并长期保留彻底回滚执行uv cache clean transformers动手前用uv pip show transformers确认版本是 4.53.2。步骤 2把 JAX 检查点转成 PyTorch 格式uv run examples/convert_jax_model_to_pytorch.py --checkpoint_dir /path/to/jax/checkpoint \ --config_name config name --output_path /path/to/pytorch/checkpoint步骤 3训练单卡与多卡各一条命令uv run scripts/train_pytorch.py debug --exp_name pytorch_testuv run torchrun --standalone --nnodes1 --nproc_per_node2 scripts/train_pytorch.py pi0_aloha_sim --exp_name pytorch_ddp_testPyTorch 版与 JAX 共用同一套 API 和策略服务检查点路径换成转换后的目录就行。七、排错速查表从症状到动作卡住时先查表再翻源码症状动作uv sync依赖冲突删掉.venv重跑uv sync仍不行先uv self update训练 OOM设XLA_PYTHON_CLIENT_MEM_FRACTION0.9或更高加--fsdp-devices n分片降显存或关闭 EMA策略服务连接失败确认服务已起并监听 8000 端口检查客户端与服务端之间的网络与防火墙训练报 norm stats 缺失先跑scripts/compute_norm_stats.py配置名与训练一致训练 loss 发散查norm_stats.json里 q01 / q99 / std个别维度数值过小会把归一化结果放大手动修正该维度统计结语跑通 LIBERO 全流程后下一步有两件事把数据和配置换成自己的机器人平台或者把模型放到更强的 GPU 上远程接真机。examples/aloha_sim、examples/aloha_real、examples/droid、examples/ur5各有一份分平台文档按需挑一份对照执行即可。【免费下载链接】openpi项目地址: https://gitcode.com/GitHub_Trending/op/openpi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进