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

问题分析

从错误截图看,这次是 数据集加载失败 的问题。核心错误是数据集格式与 LeRobot 版本不匹配。


快速解决方案

步骤 1:确认 datasets 版本

# 检查当前版本
pip show datasets

# 强制降级到兼容版本
pip install datasets==2.19.0

步骤 2:检查配置文件 bpu_export_config.yaml

根据 README 说明,v2.1 版本需要取消注释 policy 和 dataset 相关配置

# bpu_export_config.yaml

# 必须取消注释并正确配置以下字段:
policy:
  type: act
  # 其他 policy 参数...

dataset:
  repo_id: 你的数据集ID
  root: 你的数据集本地路径  # 如果本地加载
  # v2.1 格式需要的字段

步骤 3:验证数据集格式

# 测试数据集能否正常加载
python -c "
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
dataset = LeRobotDataset('你的数据集路径')
print('数据集加载成功')
print(f'数据量: {len(dataset)}')
"

完整排查流程

方案 A:重新用 v2.1 版本训练(最稳妥)

# 1. 清理环境
rm -rf lerobot
conda deactivate

# 2. 使用 D-Robotics fork(已锁定 v2.1 兼容版本)
git clone https://github.com/D-Robotics/lerobot.git
cd lerobot
git clone https://github.com/D-Robotics/rdk_LeRobot_tools.git

# 3. 安装依赖
pip install -e ".[feetech]"
pip install datasets==2.19.0 onnx onnxsim termcolor tqdm

# 4. 重新训练模型(用 v2.1 格式)
python lerobot/scripts/train.py --config your_config.yaml

方案 B:转换现有数据集格式

如果不想重新训练,可以尝试转换数据集:

# 使用 DAMO 平台的转换脚本(如果有)
python rdk_lerobot_tools/damo/replace.py

关键配置检查清单

检查项 正确值
datasets 版本 2.19.0
LeRobot 来源 D-Robotics/lerobot 或 指定 commit
bpu_export_config.yaml policy/dataset 字段已取消注释
数据集路径 绝对路径,且包含 meta.json
模型路径 包含 config.json + model.safetensors

请提供以下信息

如果上述方案仍无法解决,请提供:

# 1. 完整错误堆栈(复制文字,不要截图)
# 2. 环境信息
pip list | grep -E "lerobot|datasets|huggingface"

# 3. LeRobot commit 版本
cd lerobot && git log -1 --oneline

# 4. bpu_export_config.yaml 内容(脱敏后)
cat rdk_lerobot_tools/bpu_export_config.yaml

# 5. 数据集目录结构
tree -L 2 你的数据集路径

参考资源