You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TFLite Model Maker训练目标检测模型时train_data显示为0的问题

解决TFLite Model Maker训练目标检测模型时train_data尺寸为0的问题

排查与解决步骤

1. 验证数据加载结果

先在训练代码前添加打印,确认training_data的实际有效样本数:

print("训练集有效样本数:", training_data.size)

如果输出为0,说明数据加载环节未读到有效样本,重点检查:

  • 数据集路径是否正确:比如用from_pascal_voc()时,images_dir和annotations_dir必须指向对应文件夹
  • 标注格式是否合规:PASCAL VOC的XML标注需包含完整object、bndbox标签;COCO格式的json标注要与图片文件名严格匹配
  • 类别映射是否一致:model_spec的label_map要和标注中的类别名称完全对应,无匹配的样本会被直接过滤

2. 检查数据划分逻辑

如果是从总数据集拆分训练/验证集,确认划分比例是否合理:

  • 错误示例:training_data, validation_data = total_data.split(0.0, 1.0)会把所有数据分到验证集,导致训练集为空
  • 正确划分:比如training_data, validation_data = total_data.split(0.8, 0.2),确保训练集占比大于0

3. 排查模型规格兼容性

  • 确认model_spec对应的模型支持你的数据集类别数量,若类别数为0或与标注不匹配,会导致样本被过滤
  • 检查spec.label_map的键值对是否覆盖所有标注中的类别,遗漏类别对应的样本会被排除

4. 检查数据预处理与过滤

  • 查看数据加载时是否设置了图片尺寸过滤(比如image_resizer的参数),若所有图片都不符合尺寸要求会被过滤
  • 验证图片文件是否完好:损坏的JPG/PNG会被自动跳过,批量图片损坏会导致训练集为空

快速测试方案

如果上述排查后仍无法解决,尝试:

  • 将batch_size临时改为1,重新运行训练代码,看是否能启动
  • 手动加载单张图片和对应标注,生成小型测试数据集,验证object_detector.create()是否能正常运行

内容的提问来源于stack exchange,提问作者Pritish Rastogi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:42:46