问题分析
从错误截图看,这次是 数据集加载失败 的问题。核心错误是数据集格式与 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 你的数据集路径
参考资源
- rdk_LeRobot_tools README
ACT Policy 全流程文档
建议:如果时间允许,用 v2.1 环境重新采集 1 组数据并训练,快速跑通整个 pipeline,再迁移到正式数据