base.py — 定义了 PI0 策略的输入/输出抽象基类 Pi0Input 和 Pi0Output¶
文件路径:
verl/experimental/vla/models/pi0_torch/policy/base.py模块路径:verl.experimental.vla.models.pi0_torch.policy.base
文件概述¶
定义了 PI0 策略的输入/输出抽象基类 Pi0Input 和 Pi0Output,为不同机器人平台提供统一的数据接口。
关键代码¶
Pi0Input - 策略输入抽象类¶
class Pi0Input(ABC):
"""PI0 模型的输入数据抽象
不同机器人平台(LIBERO、ALOHA 等)的观测格式不同,
但都需要转换为统一的 PI0 输入格式。
"""
images: list[torch.Tensor] # 图像列表
img_masks: list[torch.Tensor] # 图像有效性 mask
task: str # 任务描述文本
state: torch.Tensor # 机器人状态
Pi0Output - 策略输出抽象类¶
设计思想¶
LIBERO 观测格式 ──> LiberoPi0Input ──> Pi0Input (统一接口) ──> PI0Model
ALOHA 观测格式 ──> AlohaPi0Input ──>
其他平台 ──> ... ──>
与其他模块的关系¶
- 被
libero_policy.py的LiberoPi0Input/Output实现 - 被
PI0ForActionPrediction使用
小结¶
策略适配器模式的抽象接口,使得 PI0 模型可以对接不同的机器人平台而不需要修改模型代码。