失败:有关LeRobot的CT Policy模型导出与编译 (在开发机上执行)

问题解答

根据 bpu_export_config.yaml 配置文件,policy.id 字段不需要填写(或者说应该注释掉)。


正确配置方式

查看配置文件原文:

# 策略配置
policy:
  type: "act"
  device: "cpu"
  # repo_id: "dummy/policy"  # 占位符 仅较新版本 LeRobot 需要,需要时放开注释即可

关键点:

  • repo_id 字段默认是注释状态(前面有 #
  • 注释说明:仅较新版本 LeRobot 需要,v2.1 版本不需要
  • 你当前使用的是 v2.1 兼容版本,应该保持注释状态

解决方案

步骤 1:修改配置文件

打开 bpu_export_config.yaml,确保 policy.repo_id注释状态

policy:
  type: "act"
  device: "cpu"
  # repo_id: "dummy/policy"  # 保持注释,不要取消注释!

步骤 2:确认必填字段

必须正确填写的字段只有:

# 数据集路径(必须修改为你的实际路径)
dataset:
  root: "/your/actual/dataset/path"

# 训练好的模型路径(必须修改)
act_path: "/your/actual/pretrained_model/path"

# BPU 芯片类型(根据硬件选择)
type: "nash-e"  # S100 用 nash-e,X5 用 bayes

步骤 3:重新执行导出

python rdk_lerobot_tools/export_bpu_actpolicy.py --config bpu_export_config.yaml

错误原因

你看到的错误 policy.repo_id 相关报错,很可能是因为:

  1. 错误地取消了 repo_id 的注释
  2. 填写了无效的 repo_id 值

在 v2.1 版本中,导出脚本通过 act_path 直接加载本地模型,不需要 repo_id


完整配置示例

# ========== LeRobot 参数 ==========
dataset:
  # repo_id: "dummy/dataset"  # 保持注释
  root: "/home/taoz123/datasets/so100_test"  # 你的数据集路径

policy:
  type: "act"
  device: "cpu"
  # repo_id: "dummy/policy"  # 保持注释!

wandb:
  enable: false

# ========== BPU 导出参数 ==========
act_path: "/home/taoz123/lerobot/outputs/train/act_test/pretrained_model"
export_path: "bpu_export_output"
cal_num: 100
onnx_sim: true
type: "nash-e"  # S100 用这个
combine_jobs: 6

验证清单

执行前确认:

  • dataset.root 指向正确的数据集路径
  • act_path 指向包含 config.jsonmodel.safetensors 的文件夹
  • policy.repo_id 保持注释状态
  • type 与你的硬件匹配(S100=nash-e,X5=bayes

参考

修改后应该可以正常执行导出,如果还有问题请提供完整的错误堆栈文字。