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

使用TensorFlow Lite Model Maker训练出现label_map属性错误如何解决

问题根因

报错触发的核心原因是object_detector.DataLoader.from_csv没有成功加载数据集,返回了None值,导致后续执行train_data.label_map时调用空对象的属性失败。

排查与解决方案
  • 验证存储路径与访问权限
    你使用了GCS路径加载CSV,首先确认当前Colab运行账号拥有gs://zmlcoral/存储桶的读取权限。可在Colab单元格执行以下命令验证资源是否可访问:
    !gsutil ls gs://zmlcoral/strips/export_data-untitled_1629418661144-2021-08-20T01:44:38.803321Z/image_object_detection_1.csv
    
    若命令执行报错,可将CSV和关联的标注图片转存到Colab本地磁盘,改用本地路径加载数据集。
  • 校验CSV格式是否符合要求
    TensorFlow Lite Model Maker的目标检测CSV数据集必须包含以下字段,字段名不能修改:
    • image_uri:标注对应的图片存储路径,相对路径或绝对路径需确保可正常访问
    • label:目标的类别名称
    • xmin、ymin、xmax、ymax: bounding box的归一化坐标,取值范围为0~1,不可直接填写像素坐标
      同时需要检查CSV无空行、无缺失字段的标注项,所有标注对应的图片资源都可正常读取。
  • 增加数据集加载校验逻辑
    在数据集加载代码后新增校验,提前识别加载失败问题,避免后续逻辑报错:
    train_data, validation_data, test_data = object_detector.DataLoader.from_csv('你的CSV路径')
    # 新增校验代码
    if train_data is None:
        raise ValueError("数据集加载失败,请检查路径与CSV格式")
    print(f"训练集样本量:{len(train_data)},类别总数:{len(train_data.label_map)}")
    
  • 手动指定数据集拆分比例
    若你的数据集标注总量较小,默认拆分逻辑可能导致训练集分配为空。可手动控制拆分比例,避免该问题:
    # 先加载全量数据集
    all_data = object_detector.DataLoader.from_csv('你的CSV路径')
    # 按7:2:1拆分训练、验证、测试集
    train_data, rest_data = all_data.split(0.7)
    validation_data, test_data = rest_data.split(0.67)
    

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

相关产品推荐
方舟 Agent Plan

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

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