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

使用TFLite Model Maker加载Pascal VOC训练报错train_data大小为0如何解决

问题原因与修复方案

报错核心原因是from_pascal_voc方法未读取到任何有效标注数据,导致训练集样本数为0,具体问题和修复步骤如下:

  • 路径不匹配问题
    你拆分数据集的代码是将图片和XML标注文件共同存放在C:/Users/user/Desktop/GradProject5/train_test_split/train和test目录下,未单独创建image、xml子目录,但加载数据时拼接了image/、xml/路径,程序在不存在的目录下找不到任何文件。
    修复方案可直接修改数据加载代码的路径参数:
# 补充定义缺失的train_image_dir,修正路径拼写、转义问题
train_image_dir='C:/Users/user/Desktop/GradProject5/train_test_split/train/'
test_image_dir='C:/Users/user/Desktop/GradProject5/train_test_split/test/'

# 直接传入同时存放图片和XML的训练、测试目录即可
train_data=object_detector.DataLoader.from_pascal_voc(
    images_dir=train_image_dir,
    annotations_dir=train_image_dir,
    label_map={1:"pill",2:"text"}
)
test_data=object_detector.DataLoader.from_pascal_voc(
    images_dir=test_image_dir,
    annotations_dir=test_image_dir,
    label_map={1:"pill",2:"text"}
)
  • 路径拼写与转义问题
    原代码中test_image_dir存在两处路径错误:
  1. 目录名拼写错误:拆分数据集用的是GradProject5,原加载代码写的是GradProject,缺少后缀5
  2. 路径转义错误:路径中混用正斜杠和反斜杠,\train中的\t会被识别为制表符,导致路径失效,统一使用正斜杠即可避免该问题
  • 数据加载有效性验证
    修改完路径后,先执行以下代码确认数据加载是否成功:
print(len(train_data))

如果输出仍为0,继续排查以下问题:

  1. 检查XML标注文件中的<name>标签内容,必须和label_map中定义的pill、text完全一致,大小写、拼写不能有偏差
  2. 确认原始数据集目录下没有非jpg格式的图片,避免复制XML时后缀替换错误
  3. 检查拆分后的train目录下,每个jpg文件都对应存在同名的xml文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:45:03