问题解答
根据 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 相关报错,很可能是因为:
- 错误地取消了
repo_id的注释 - 填写了无效的 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.json和model.safetensors的文件夹 -
policy.repo_id保持注释状态 -
type与你的硬件匹配(S100=nash-e,X5=bayes)
参考
修改后应该可以正常执行导出,如果还有问题请提供完整的错误堆栈文字。