开源项目教程:open-pi-zero
1. 项目介绍
open-pi-zero
是一个基于 Physical Intelligence (Pi) 的 pi0 模型的开源项目。该模型采用了类似于 MoE(MoE-like)的架构,每个专家都有一组自己的参数,仅通过注意力机制进行交互。项目使用了预训练的 3B PaliGemma VLM(其中 2.291B 用于微调)以及一组新的动作专家参数(0.315B)。模型在动作专家的输出上使用流匹配损失进行训练。
2. 项目快速启动
环境搭建
首先,克隆项目仓库到本地目录:
git clone https://github.com/allenzren/open-pi-zero
然后,安装必要的依赖:
uv sync
uv pip install -e ../SimplerEnv
uv pip install -e ../SimplerEnv/ManiSkill2_real2sim
或者,你也可以使用 venv 或 conda env,然后在三个目录下运行:
pip install -e .
设置环境变量
设置 VLA_DATA_DIR
(如果下载训练数据集)、VLA_LOG_DIR
和 VLA_WANDB_ENTITY
:
source scripts/set_path.sh
下载预训练权重
在 TRANSFORMERS_CACHE
目录下下载 PaliGemma 权重:
cd $TRANSFORMERS_CACHE
git clone https://huggingface.co/google/paligemma-3b-pt-224
测试文本生成
使用预训练权重测试文本生成:
uv run src/model/vla/pizero.py --text_only --load_pretrained_weights --use_bf16
尝试检查点
目前,我已经使用 fractal 或 bridge 数据集进行了训练。以下是模型的链接:
- Bridge-Uniform
- Bridge-Beta
- Fractal-Uniform
- Fractal-Beta
在 Simpler 中下载检查点后运行:
uv run scripts/try_checkpoint_in_simpler.py \
--task google_robot_pick_horizontal_coke_can \
--checkpoint_path ...fractal_beta.pt \
--recording \
--use_bf16 \
--use_torch_compile
请注意,第一次运行可能会比较慢。
3. 应用案例和最佳实践
以下是一些应用案例和最佳实践:
- 使用预训练模型进行文本生成。
- 在 Simpler 环境中测试不同检查点的性能。
- 根据具体任务调整模型参数,例如动作块大小、学习率等。
4. 典型生态项目
open-pi-zero
可以与以下项目配合使用:
SimplerEnv
:用于机器人模拟的环境。ManiSkill2_real2sim
:用于真实到模拟的转换。
以上就是 open-pi-zero
项目的教程,希望对您有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考