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

TensorFlow Lite Model Maker加载CSV报NoneType无label_map错误如何解决

报错原因与解决方案

你遇到的AttributeError: 'NoneType' object has no attribute 'label_map'错误,核心原因是object_detector.DataLoader.from_csv()没有成功加载到有效数据集,返回了空值,后续调用train_data的属性自然失败。问题完全出在CSV标注文件的格式不符合Model Maker的要求,可按以下步骤逐一排查修复:

  • 检查字段名与顺序:CSV必须严格使用filename,width,height,class,xmin,ymin,xmax,ymax作为表头,拼写、大小写完全匹配,不能调整顺序,也不能额外增加其他字段。
  • 检查图片路径配置:你所有图片存放在/content/路径下,CSV中filename字段必须填写完整绝对路径,比如/content/photo_001.jpg,不能仅填文件名或相对路径,Model Maker不会自动补全路径前缀。
  • 检查标注坐标有效性:xmin、xmax必须小于等于图像width,ymin、ymax必须小于等于图像height,且满足xmin < xmax、ymin < ymax,所有坐标不能是空值、负值,格式必须为整数或浮点数。
  • 检查类别标注有效性:class字段不能有空值,类别名称不要包含特殊符号,同类别至少要有2条以上标注数据。
  • 调整数据集拆分比例:默认from_csv()会按7:2:1自动拆分训练、验证、测试集,如果你的总标注样本量过少(少于10条),会导致某一拆分数据集为空,可手动指定拆分比例,示例如下:
train_data, validation_data, test_data = object_detector.DataLoader.from_csv(
    '/content/test.csv',
    train_fraction=0.8,
    validation_fraction=0.15,
    test_fraction=0.05
)

如果样本量极小,也可临时将test_fraction设为0,避免测试集为空。

  • 加载前做有效性校验:调用from_csv()后可新增一行打印代码,确认数据集是否加载成功:
print(train_data, validation_data, test_data)

如果输出中有None,说明加载失败,回到前述步骤重新检查CSV内容。

参考CSV样例

你可以对照修改你的标注文件:

filename,width,height,class,xmin,ymin,xmax,ymax
/content/photo_001.jpg,640,480,cat,120,80,340,360
/content/photo_002.jpg,640,480,dog,210,110,430,420

如果手动调整CSV容易出错,也可以先用LabelImg等标注工具将标注导出为PASCAL VOC格式的XML文件,再写简单脚本批量读取XML的对应字段生成符合要求的CSV,稳定性更高。

内容的提问来源于stack exchange,提问作者Matthew De La Rosa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:09:00