课程总目录Lesson 0002 · Module B · Data
学习进度 0%
Module B · Data

读懂一个机器人数据集:LeRobot PushT

20 分钟 · 目标:能解释 PushT 的字段、规模、单位和 episode 结构。

Dataset lab

先看数据,再看模型

PushT 是一个二维推动任务:agent 要把 T 形块推到 T 形目标上。这个任务简单到可以快速实验,又包含了接触、遮挡和目标条件。

25,650 帧

总观测-动作样本。

206 episodes

完整轨迹,不是独立图片。

10 fps

相邻帧高度相关。

state/action 都是 2 维

对应平面坐标,单位是像素空间。

实践:读 schema

ssh h200_1727
docker exec -it zmz_dev_v2 bash
cd /mnt/models_2296/zmz/workspace/worldmodel_embodied_ai/04_lerobot_dataset
source .venv/bin/activate
python scripts/analyze_pusht.py

打开 analysis/pusht_summary.json,找到:observation.state、action、episode_index、next.success。

观察关键帧

PushT contact sheet
Contact sheet:看接触、遮挡和目标变化,而不是只看统计均值。

你要掌握的三个判断

  1. 这个数据集是轨迹数据,不是独立同分布图片。
  2. 动作是绝对像素位置,不是关节角。
  3. 判断成功必须看 next.success / coverage,不能只看 loss。

检索练习

为什么训练/验证必须按 episode 切分?

同一 episode 的相邻帧几乎重复,随机按帧切分会把近似样本同时放进训练和验证,造成泄漏。

本课一手来源

本地数据来自 lerobot/pusht;代码框架见 LeRobot。

有疑问就问

把不理解的地方直接发给老师/agent,最好附上你观察到的现象和报错。

Course file: lessons/0002-pusht-dataset.html