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

TensorFlow Lite Model Maker目标检测验证数据加载异常报错求助

解决TensorFlow Lite Model Maker验证集加载错误的建议

问题核心分析

错误提示validation_data (0)说明你的验证集实际上没有被成功加载,和你实际的图片数量无关,优先排查数据加载环节,再处理batch_size问题。

具体解决步骤

  • 先确认验证集是否真的被加载
    在创建val_data后添加一行代码,打印实际加载的样本数量:

    print(f"验证集加载样本数: {len(val_data)}")
    

    如果输出是0,说明数据加载失败,往下看排查方向;如果输出大于0,直接看第3步。

  • 排查验证集路径与标注文件

    1. 检查路径正确性:确认脚本运行的当前目录下,./validate确实存在,且里面有图片和对应的XML标注文件。比如你在project/目录下运行脚本,那project/validate/必须存在。
    2. 确认标注文件匹配:Pascal VOC格式要求每张图片(如img1.jpg)对应一个同名的XML文件(img1.xml),且XML中的<object>标签里的<name>必须是你指定的['person','laptop','cup','bottle']中的某一个,否则该样本会被忽略。
    3. 检查XML格式合法性:确保XML没有语法错误,比如标签未闭合、字段缺失等,可以用XML校验工具检查。
  • 手动指定evaluate的batch_size
    即使验证集加载正常,model.evaluate()可能默认使用模型规格(efficientdet_lite0)的默认batch_size(64),而不是你训练时设置的4。直接在evaluate时指定batch_size:

    model.evaluate(val_data, batch_size=4)
    

    这样只要验证集样本数≥4就能正常运行。

  • 验证数据加载细节
    如果还是有问题,可以遍历验证集查看具体数据:

    for image, label in val_data:
        print(f"图片形状: {image.shape}, 标签: {label}")
        break
    

    如果没有输出,说明数据加载逻辑确实有问题,需要重新检查数据集的组织结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:05:20