首页 > 解决方案 > Google Cloud Vision 不会自动分割图像以进行训练/测试

问题描述

很奇怪,出于某种原因,GCP Vision 不允许我训练我的模型。我已经满足每个标签至少 10 个图像,没有未标记的图像,并尝试上传指向 3 个此标签图像的 CSV 作为验证图像。但我收到此错误

您的某些标签(例如“Label1”)没有足够的图像分配给您的验证集。导入另一个 CSV 文件并将这些图像分配给这些集合。

图片问题

任何想法,将不胜感激

标签: google-cloud-platformgoogle-vision

解决方案


当您没有标记所有图像时,通常会发生此错误,因为 AutoML 将您的图像(包括错误标记的图像)划分为类别,并且当未标记的图像进入VALIDATION集时会触发此错误。

根据文档,建议每个标签 1000 张图像。但是,每个标签最少为 10 个图像,复杂情况下最少为 50 个。此外,

当最常见标签的图像最多比最不常见标签的图像多 100 倍时,该模型效果最佳。我们建议删除频率非常低的标签。

此外,AutoML Vision 将 80% 的内容文档用于训练,10% 用于验证,10% 用于测试。由于您的图像没有分为这三个类别,您应该手动将它们分配给TRAINVALIDATIONTEST。您可以通过将图像上传到 GCS 存储桶并引用.csv文件中的每个标记图像来做到这一点,如下所示:

TRAIN, gs://my_bucket/image1.jpeg,cat

正如您在上面看到的,它遵循格式[SET],[GCS image path], [Label]。请注意,您将手动划分数据集,它应该尊重已经提到的百分比。因此,您将在每个类别中拥有足够的数据。您可以在此处此处按照准备训练数据的步骤进行操作。

注意:请注意,您的.csv文件区分大小写。

最后,为了验证您的数据集并检查标记/未标记的图像,您可以导出创建的数据集并检查导出的.csv文件。您可以按照文档中的说明进行操作。导出后,下载并验证每个SET训练、验证和测试)。


推荐阅读