模型评估

模型评估位于训练之后、持续真机运行之前,回答两个问题:

  1. 模型是否学会了任务;

  2. 模型能否在目标机器人上正确、安全地运行。

评估顺序
  1. Checkpoint 加载检查:模型、处理器、配置和归一化文件可完整加载。

  2. 数据回放/离线推理:在测试 episode 上运行,确认输入输出结构正确。

  3. 开环评估:对比预测动作与数据集真实动作,不向机器人执行。

  4. 输入输出对齐:检查相机、状态、动作、坐标系、单位和频率。

  5. 推理性能:检查推理耗时、显存、吞吐和 action horizon。

  6. 受控真机 Rollout:低速、限幅、短时,随时可急停。

  7. 结果记录:统计成功、失败、超时和人工干预。

启动 WebSocket 推理服务

推荐使用脚本:

bash scripts/run_serving.sh \
  --checkpoint-path /path/to/checkpoint \
  --train-config-path /path/to/my_robot_config.yml \
  --port 32195

默认连接地址:

ws://127.0.0.1:32195

默认包装器返回原始模型 action chunk,适用于开环评估。如果 Client 需要机器人序列化动作,应根据脚本说明使用 --serialize-actions。

进阶启动方式:

export ENABLE_CUDA_GRAPH=True
export ENABLE_EXPERIMENTAL_INFERENCE_ENGINE=True

CKPT_PATH=/path/to/checkpoint

python -m wall_x._vendor.harrix.serving.launch_serving \
  --env X2ROBOT \
  --port 32195 \
  --no-serialize-actions \
  model-config:server-model-config \
  --model-config.checkpoint-path "$CKPT_PATH" \
  --model-config.train-config-path /path/to/my_robot_config.yml \
  --model-config.action-horizon 32 \
  --model-config.robot-action-interpolate-multiplier 1 \
  --model-config.robot-action-end-ratio 1.0 \
  --model-config.robot-type desktop

robot-type desktop 来自源部署文档的桌面机械臂示例。量子 1 号 Pro 应使用与目标机器人、训练数据和 SDK Adapter 一致的配置,不能直接照搬示例值。

开环效果验证

先启动推理服务,再新开终端运行:

python scripts/draw_openloop_plot.py \
  --uri ws://127.0.0.1:32195 \
  --dataset-root /path/to/your_robot_dataset \
  --train-config /path/to/my_robot_config.yml \
  --episode-indices 0,1,2 \
  --save-dir ./openloop_plots

结果会保存到 . /openloop_plots。检查重点不是曲线完全重合,而是:

  • 动作维度、方向和范围合理;

  • 关键动作阶段与演示大致一致;

  • 无异常尖峰、持续饱和或明显延迟;

  • 夹爪与末端动作时序合理。

开环示例

image.png

真机评估指标
  • 任务成功率/任务进度:是否完成任务,或完成到哪个阶段。

  • 完成时间:从任务开始到成功或停止。

  • 失败类型:感知、抓取、轨迹、放置、超时、网络、系统等。

  • 人工干预:急停、接管、重置或手动纠正。

  • 推理耗时:单次或单个 action chunk 的耗时。

  • 控制稳定性:抖动、跳变、越界和动作不连续。

不同任务可定义不同成功标准。现阶段链路验收重点仍是“数据-训练-推理-真机执行是否正确”,不强制所有任务使用统一成功率门槛。

本页内容