Psi0开发环境搭建指南:uv + Docker双路径配置清单,从零到跑通只需3步
【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0
Psi0(Ψ₀)是一个开源的人形机器人视觉-语言-动作(VLA)基础模型,让 Unitree G1 等人形机器人完成灵巧 loco-manipulation 任务。本文将从零带你完成Psi0 开发环境搭建:一条uv本地虚拟环境路径,一条Docker预构建镜像路径,全程只需 3 步,即可跑通训练、微调与推理服务。
🔍 开始前:Psi0 环境里装了什么
Psi0 由预训练 VLM 骨干(System-2,基于 Qwen3-VL-2B)+ 扩散动作专家(System-1,约 500M 参数)组成。环境的核心依赖就围绕这套模型:Python 3.11 + PyTorch 2.7.0 + flash-attn + Qwen3-VL 处理器,全部锁定在 pyproject.toml 和 uv.lock 中:
📋 环境要求清单
| 项目 | 要求 | 说明 |
|---|---|---|
| Python | 3.11(严格锁定) | pyproject.toml 中requires-python ==3.11.* |
| 依赖管理器 | uv | 统一管理 Psi0 与全部 baselines 的环境 |
| GPU | NVIDIA GPU(A100/4090/H100 等) | 需支持对应 compute capability |
| CUDA | 12.9 基础镜像 | 与 torch 2.7.0 + flash-attn 轮子匹配 |
| 磁盘 | ≥ 10GB 余量 | venv 约 9GB,另需缓存数据/权重 |
💡 依赖版本全部由 uv.lock 锁定,
uv sync会自动解析,无需手动逐条安装。
第一步:克隆 Psi0 仓库并配置.env
git clone https://gitcode.com/gh_mirrors/ps/Psi0 cd Psi0 cp .env.sample .env编辑 .env.sample 生成的.env,重点改这几项(会被dotenv自动加载):
| 变量 | 作用 |
|---|---|
HF_TOKEN | 下载模型权重 / 数据集的 HuggingFace 读 token |
PSI_HOME | 权重、缓存、数据的统一根目录(如/hfm) |
WANDB_API_KEY/WANDB_ENTITY | 训练日志上报(可留空跳过) |
🌏 国内网络可取消注释
HF_ENDPOINT=https://hf-mirror.com走镜像。
第二步:uv 路径 —— 3 条命令建好 Psi0 虚拟环境
① 安装 uv(已装可跳过):
curl -LsSf https://astral.sh/uv/install.sh | sh② 创建 Python 3.11 虚拟环境:
uv venv .venv-psi --python 3.11 source .venv-psi/bin/activate③ 一键同步 Psi0 依赖(serve推理服务 +viz可视化 +psi训练核心):
GIT_LFS_SKIP_SMUDGE=1 uv sync \ --group serve \ --group viz \ --group psi \ --index-strategy unsafe-best-match \ --active④ 补装 flash-attn 并验证安装(PyPI 上只有源码包,直接装预构建轮子):
uv pip install flash_attn==2.7.4.post1 --no-build-isolation # 应打印版本号,说明 psi 可正常导入 python -c "import psi;print(psi.__version__);" # 验证共享的 lerobot 数据栈 python -c "from psi.data.lerobot.compat import LEROBOT_LAYOUT; print(LEROBOT_LAYOUT)"📦 Psi0 与所有基线(GR00T、π0.5、ACT、DP 等)通过
uv共享同一份 src/ 代码,各基线维护独立环境。详见 baselines/README.md。
第三步:Docker 路径 —— 免配置直接用官方镜像
如果你不想在本地装 Python 依赖,Psi0 官方提供只含依赖的预构建镜像(Python 3.11 + torch 2.7 cu12 + flash-attn,环境位于/workspace/.venv-psi),源码通过 bind mount 挂入,改代码只需重启容器、无需重建。
① 拉取镜像并重命名 tag(docker-compose.yml按psi:train找镜像,重命名是必须的):
docker pull ghcr.io/physical-superintelligence-lab/psi0:latest docker tag ghcr.io/physical-superintelligence-lab/psi0:latest psi:train📌 也可用日期 tag(如
:260830)固定到具体构建版本。
② 一行命令拉起 Ψ₀ 推理服务(docker-compose.yml 中所有参数均可用.env或环境变量覆盖,如PORT、RUN、CKPT_STEP、RTC_FLAG、GPUS):
docker compose up serve-psi0-sonic-http # 查看服务自身的完整参数列表 docker compose run --rm serve-psi0-sonic-http --help③(可选)自行构建镜像:
docker compose build psi # 等价于:docker build -f scripts/train/Dockerfile -t psi:train .镜像构建逻辑在 scripts/train/Dockerfile,集群 / enroot 用法见 scripts/train/README.md。
🛠️ 常见问题速查(官方 Troubleshooting)
| 报错症状 | 快速解法 |
|---|---|
stack(): ... not Column(lerobot 加载失败) | uv sync --group psi --active重新同步环境 |
编译evdev报Python.h: No such file | sudo apt install -y python3-dev build-essential linux-headers-$(uname -r) |
Could not load libtorchcodec | sudo apt-get install ffmpeg |
wandb导入报Deprecated错误 | 重装wandb==0.18.0 |
5090 / RTX 6000 等新 GPU 报sm_120 | 升级到 cu128 版 torch + flash-attn |
| 拉取 lerobot 时 git-lfs 卡住失败 | 加GIT_LFS_SKIP_SMUDGE=1再uv sync |
完整说明见 README.md 的 Troubleshootings 章节。
🚀 环境跑通后的下一步
- 微调训练:准备 LeRobot 格式数据后,执行 scripts/train/psi0/finetune-real-psi0.sh,数据转换脚本见 scripts/data/raw_to_lerobot.py
- Open-Loop 评估:加载训练集跑推理,参考 examples/simple/openloop_eval.py
- 下载官方 checkpoint:scripts/data/download.py
- 完整上手文档:examples/quick_start/psi.md
- SONIC 全身控制:见 real/SONIC/README.md
到这里,Psi0 的开发环境就已就绪:uv路径适合本地工作站训练与调试,Docker路径适合服务器一键起服务——两条路径任选其一,3 步即可跑通。
【免费下载链接】Psi0[RSS'26] Welcome to Psi-Zero, a Humanoid VLA towards Universal Humanoid Intelligence.项目地址: https://gitcode.com/gh_mirrors/ps/Psi0
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考