非终止性 JSON 行验证错误 - Rekognition

非终止性 JSON 行验证错误

本主题列出了 Amazon Rekognition Custom Labels 在训练期间报告的非终止性 JSON 行验证错误。这些错误会在训练和测试验证清单中报告。有关更多信息,请参阅 了解训练和测试验证结果清单。可以通过更新训练或测试清单文件中的 JSON 行来修复非终止性 JSON 行错误。您也可以从清单中删除相关的 JSON 行,但这样做可能会降低模型的质量。如果非终止性验证错误太多,您可能会发现重新创建清单文件更容易。验证错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件。有关修复验证错误的信息,请参阅修复训练错误。有些错误可以使用 Amazon Rekognition Custom Labels 控制台修复。

ERROR_MISSING_SOURCE_REF

错误消息

缺少 source-ref 键。

更多信息

JSON 行的 source-ref 字段提供图像的 Amazon S3 位置。如果 source-ref 键缺失或拼写错误,便会发生此错误。此错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件

修复 ERROR_MISSING_SOURCE_REF
  1. 检查 source-ref 键是否存在且拼写正确。完整的 source-ref 键和值类似如下:"source-ref": "s3://bucket/path/image"

  2. 更新 JSON 行中的 source-ref 键。或者,从清单文件中删除该 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_INVALID_SOURCE_REF_FORMAT

错误消息

source-ref 值的格式无效。

更多信息

JSON 行中具有 source-ref 键,但 Amazon S3 路径的架构不正确。例如,路径是 https://.... 而不是 S3://....。ERROR_INVALID_SOURCE_REF_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件

修复 ERROR_INVALID_SOURCE_REF_FORMAT
  1. 检查架构是否为 "source-ref": "s3://bucket/path/image"。例如,"source-ref": "s3://custom-labels-console-us-east-1-1111111111/images/000000242287.jpg"

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此 ERROR_INVALID_SOURCE_REF_FORMAT

ERROR_NO_LABEL_ATTRIBUTES

错误消息

未找到标签属性。

更多信息

标签属性或标签属性 -metadata 键名(或两者)无效或缺失。在以下示例中,每当缺少 bounding-boxbounding-box-metadata 键(或两者)时都会发生 ERROR_NO_LABEL_ATTRIBUTES。有关更多信息,请参阅 创建清单文件

{ "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "my job" } }

ERROR_NO_LABEL_ATTRIBUTES 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件

修复 ERROR_NO_LABEL_ATTRIBUTES
  1. 检查标签属性标识符和标签属性标识符 -metadata 键是否存在,以及键名称拼写是否正确。

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复 ERROR_NO_LABEL_ATTRIBUTES

ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT

错误消息

标签属性 {} 的格式无效。

更多信息

标签属性键的架构缺失或无效。ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅创建清单文件

修复 ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT
  1. 检查 JSON 行的标签属性键部分是否正确。在以下物体位置示例中,image_sizeannotations 对象必须正确。该标签属性键名为 bounding-box

    "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] },

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_INVALID_LABEL_ATTRIBUTE_METADATA_FORMAT

错误消息

标签属性元数据的格式无效。

更多信息

标签属性元数据键的架构缺失或无效。ERROR_INVALID_LABEL_ATTRIBUTE_METADATA_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件

修复 ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT
  1. 检查标签属性元数据键的 JSON 行架构是否与以下示例类似。该标签属性元数据键名为 bounding-box-metadata

    "bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "my job" }

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_NO_VALID_LABEL_ATTRIBUTES

错误消息

未找到有效的标签属性。

更多信息

在 JSON 行中未找到有效的标签属性。Amazon Rekognition Custom Labels 会同时检查标签属性和标签属性标识符。ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅创建清单文件

如果 JSON 行不是受支持的 SageMaker 清单格式,Amazon Rekognition Custom Labels 会将 JSON 行标记为无效并报告 ERROR_NO_VALID_LABEL_ATTRIBUTES 错误。目前,Amazon Rekognition Custom Labels 支持分类作业和边界框格式。有关更多信息,请参阅 创建清单文件

修复 ERROR_NO_VALID_LABEL_ATTRIBUTES
  1. 检查 JSON 行中的标签属性键和标签属性元数据是否正确。

  2. 更新或移除清单文件中的相关 JSON 行。有关更多信息,请参阅 创建清单文件

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_MISSING_BOUNDING_BOX_CONFIDENCE

错误消息

一个或多个边界框缺少置信度值。

更多信息

一个或多个物体位置边界框缺少 confidence 键。边界框的 confidence 键位于标签属性元数据中,如以下示例中所示。ERROR_MISSING_BOUNDING_BOX_CONFIDENCE 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 清单文件中的物体定位

"bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }],
修复 ERROR_MISSING_BOUNDING_BOX_CONFIDENCE
  1. 检查标签属性中的 objects 数组包含的 confidence 键数量是否与标签属性 annotations 数组中的对象数量相同。

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_MISSING_CLASS_MAP_ID

错误消息

类别映射中缺少一个或多个类别 ID。

更多信息

注释(边界框)对象中的 class_id 在标签属性元数据类别映射 (class-map) 中没有匹配的条目。有关更多信息,请参阅 清单文件中的物体定位。ERROR_MISSING_CLASS_MAP_ID 错误通常发生在手动创建的清单文件中。

修复 ERROR_MISSING_CLASS_MAP_ID
  1. 检查每个注释(边界框)对象中的 class_id 值在 class-map 数组中是否具有对应的值,如以下示例中所示。annotations 数组和 class_map 数组具有的元素数量应该相同。

    { "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "my job" } }
  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_INVALID_JSON_LINE

错误消息

JSON 行的格式无效。

更多信息

在 JSON 行中发现了意外字符。JSON 行被替换成了仅包含错误信息的新 JSON 行。ERROR_INVALID_JSON_LINE 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 清单文件中的物体定位

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

修复 ERROR_INVALID_JSON_LINE
  1. 打开清单文件并导航到发生 ERROR_INVALID_JSON_LINE 错误的 JSON 行。

  2. 检查该 JSON 行是否包含无效字符,以及是否缺少必要的 ;, 字符。

  3. 更新或移除清单文件中的相关 JSON 行。

ERROR_INVALID_IMAGE

错误消息

图像无效。请检查 S3 路径和/或图像属性。

更多信息

source-ref 引用的文件不是有效的图像。可能的原因包括图像的宽高比、图像大小和图像格式。

有关更多信息,请参阅 Amazon Rekognition Custom Labels 中的准则和配额

修复 ERROR_INVALID_IMAGE
  1. 检查以下事项。

    • 图像的宽高比是否小于 20:1。

    • 图像大小是否大于 15 MB。

    • 图像是否为 PNG 或 JPEG 格式。

    • source-ref 中的图像路径是否正确。

    • 图像的最小图像尺寸是否大于 64 像素 x 64 像素。

    • 图像的最大图像尺寸是否大于 4096 像素 x 4096 像素。

  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_INVALID_IMAGE_DIMENSION

错误消息

图像尺寸不符合允许的尺寸。

更多信息

source-ref 引用的图像不符合允许的图像尺寸。最小尺寸为 64 像素。最大尺寸为 4096 像素。会针对带边界框的图像报告 ERROR_INVALID_IMAGE_DIMENSION

有关更多信息,请参阅 Amazon Rekognition Custom Labels 中的准则和配额

修复 ERROR_INVALID_IMAGE_DIMENSION(控制台)
  1. 使用 Amazon Rekognition Custom Labels 能够处理的尺寸更新 Amazon S3 存储桶中的图像。

  2. 在 Amazon Rekognition Custom Labels 控制台中,执行以下操作:

    1. 从图像中移除现有的边界框。

    2. 将边界框重新添加到图像中。

    3. 保存您的更改。

    有关更多信息,请参阅 使用边界框标注物体

修复 ERROR_INVALID_IMAGE_DIMENSION (SDK)
  1. 使用 Amazon Rekognition Custom Labels 能够处理的尺寸更新 Amazon S3 存储桶中的图像。

  2. 通过调用 ListDatasetEntries 获取该图像的现有 JSON 行。对于 SourceRefContains 输入参数,请指定图像的 Amazon S3 位置和文件名。

  3. 调用 UpdateDatasetEntries 并为图像提供 JSON 行。确保 source-ref 的值与 Amazon S3 存储桶中的图像位置匹配。更新边界框注释,使其与更新后的图像所需的边界框尺寸相匹配。

    { "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [{ "confidence": 1 }, { "confidence": 1 }], "class-map": { "0": "Echo", "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18T02:53:27", "job-name": "my job" } }

ERROR_INVALID_BOUNDING_BOX

错误消息

边界框具有超出边框的值。

更多信息

边界框信息指定的图像要么不在图像边框内,要么包含负值。

有关更多信息,请参阅 Amazon Rekognition Custom Labels 中的准则和配额

修复 ERROR_INVALID_BOUNDING_BOX
  1. 检查 annotations 数组中边界框的值。

    "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }] },
  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_NO_VALID_ANNOTATIONS

错误消息

未找到有效的注释。

更多信息

JSON 行中的所有注释对象均不包含有效的边界框信息。

修复 ERROR_NO_VALID_ANNOTATIONS
  1. 更新 annotations 数组以包含有效的边界框对象。此外,请检查标签属性元数据中的相应边界框信息(confidenceclass_map)是否正确。有关更多信息,请参阅 清单文件中的物体定位

    { "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [ { "class_id": 1, #annotation object "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [ >{ "confidence": 1 #confidence object }, { "confidence": 1 }], "class-map": { "0": "Echo", #label "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "my job" } }
  2. 更新或移除清单文件中的相关 JSON 行。

无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。

ERROR_BOUNDING_BOX_TOO_SMALL

错误消息

边界框的高度和宽度太小。

更多信息

边界框尺寸(高度和宽度)必须大于 1 x 1 像素。

在训练过程中,如果图像的任何尺寸大于 1280 像素,Amazon Rekognition Custom Labels 就会调整图像的大小(源图像不受影响)。生成的边界框高度和宽度必须大于 1 x 1 像素。边界框位置存储在物体位置 JSON 行的 annotations 数组中。有关更多信息,请参阅 清单文件中的物体定位

"bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1, "top": 251, "left": 399, "width": 155, "height": 101 }] },

错误信息会被添加到注释对象中。

修复 ERROR_BOUNDING_BOX_TOO_SMALL
  • 选择以下任一选项。

    • 增大太小的边界框的大小。

    • 移除太小的边界框。有关移除边界框的信息,请参阅ERROR_TOO_MANY_BOUNDING_BOXES

    • 从清单中移除图像(JSON 行)。

ERROR_TOO_MANY_BOUNDING_BOXES

错误消息

边界框的数量超出了允许的最大数量。

更多信息

边界框的数量超出了允许的最大数量 (50)。您可以在 Amazon Rekognition Custom Labels 控制台中移除多余的边界框,也可从 JSON 行中将其移除。

修复 ERROR_TOO_MANY_BOUNDING_BOXES(控制台)。
  1. 决定要移除哪些边界框。

  2. 通过以下网址打开 Amazon Rekognition 控制台:https://console.aws.amazon.com/rekognition/

  3. 选择使用自定义标签

  4. 选择开始

  5. 在左侧导航窗格中,选择包含要使用的数据集的项目。

  6. 数据集部分中,选择要使用的数据集。

  7. 在数据集库页面中,选择开始标注进入标注模式。

  8. 选择要从中移除边界框的图像。

  9. 选择绘制边界框

  10. 在绘图工具中,选择要删除的边界框。

  11. 按键盘上的删除键即可删除边界框。

  12. 重复前面的 2 个步骤,直到删除了足够的边界框。

  13. 选择完成

  14. 选择保存更改以保存您的更改。

  15. 选择退出,退出标注模式。

修复 ERROR_TOO_MANY_BOUNDING_BOXES(JSON 行)。
  1. 打开清单文件并导航到发生 ERROR_TOO_MANY_BOUNDING_BOXES 错误的 JSON 行。

  2. 对于要移除的每个边界框,移除以下内容。

    • annotations 数组中移除所需的 annotation 对象。

    • 从标签属性元数据中的 objects 数组中移除相应的 confidence 对象。

    • 如果该标签不再被其他边界框使用,请从 class-map 中将其移除。

    使用以下示例来确定要移除的项目。

    { "source-ref": "s3://custom-labels-bucket/images/IMG_1186.png", "bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [ { "class_id": 1, #annotation object "top": 251, "left": 399, "width": 155, "height": 101 }, { "class_id": 0, "top": 65, "left": 86, "width": 220, "height": 334 }] }, "bounding-box-metadata": { "objects": [ >{ "confidence": 1 #confidence object }, { "confidence": 1 }], "class-map": { "0": "Echo", #label "1": "Echo Dot" }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2018-10-18T22:18:13.527256", "job-name": "my job" } }

WARNING_UNANNOTATED_RECORD

警告消息

记录未添加注释。

更多信息

使用 Amazon Rekognition Custom Labels 控制台添加到数据集的图像未添加标签。图像对应的 JSON 行不会用于训练。

{ "source-ref": "s3://bucket/images/IMG_1186.png", "warnings": [ { "code": "WARNING_UNANNOTATED_RECORD", "message": "Record is unannotated." } ] }
修复 WARNING_UNANNOTATED_RECORD

WARNING_NO_ANNOTATIONS

警告消息

未提供注释。

更多信息

尽管由人工 (human-annotated = yes) 注释,但物体定位格式的 JSON 行不包含任何边界框信息。该 JSON 行有效,但不会用于训练。有关更多信息,请参阅 了解训练和测试验证结果清单

{ "source-ref": "s3://bucket/images/IMG_1186.png", "bounding-box": { "image_size": [ { "width": 640, "height": 480, "depth": 3 } ], "annotations": [ ], "warnings": [ { "code": "WARNING_NO_ATTRIBUTE_ANNOTATIONS", "message": "No attribute annotations were found." } ] }, "bounding-box-metadata": { "objects": [ ], "class-map": { }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18 02:53:27", "job-name": "my job" }, "warnings": [ { "code": "WARNING_NO_ANNOTATIONS", "message": "No annotations were found." } ] }
修复 WARNING_NO_ANNOTATIONS
  • 选择以下任一选项。

    • 将边界框 (annotations) 信息添加到 JSON 行。有关更多信息,请参阅 清单文件中的物体定位

    • 从清单中移除图像(JSON 行)。

WARNING_NO_ATTRIBUTE_ANNOTATIONS

警告消息

未提供属性注释。

更多信息

尽管由人工 (human-annotated = yes) 注释,但物体定位格式的 JSON 行不包含任何边界框注释信息。annotations 数组不存在或未填充。该 JSON 行有效,但不会用于训练。有关更多信息,请参阅 了解训练和测试验证结果清单

{ "source-ref": "s3://bucket/images/IMG_1186.png", "bounding-box": { "image_size": [ { "width": 640, "height": 480, "depth": 3 } ], "annotations": [ ], "warnings": [ { "code": "WARNING_NO_ATTRIBUTE_ANNOTATIONS", "message": "No attribute annotations were found." } ] }, "bounding-box-metadata": { "objects": [ ], "class-map": { }, "type": "groundtruth/object-detection", "human-annotated": "yes", "creation-date": "2013-11-18 02:53:27", "job-name": "my job" }, "warnings": [ { "code": "WARNING_NO_ANNOTATIONS", "message": "No annotations were found." } ] }
修复 WARNING_NO_ATTRIBUTE_ANNOTATIONS
  • 选择以下任一选项。

    • 将一个或多个边界框 annotation 对象添加到 JSON 行。有关更多信息,请参阅 清单文件中的物体定位

    • 移除边界框属性。

    • 从清单中移除图像(JSON 行)。如果 JSON 行中存在其他有效的边界框属性,则可以仅从 JSON 行中移除无效的边界框属性。

ERROR_UNSUPPORTED_USE_CASE_TYPE

警告消息

更多信息

type 字段的值不是 groundtruth/image-classificationgroundtruth/object-detection。有关更多信息,请参阅 创建清单文件

{ "source-ref": "s3://bucket/test_normal_8.jpg", "BB": { "annotations": [ { "left": 1768, "top": 1007, "width": 448, "height": 295, "class_id": 0 }, { "left": 1794, "top": 1306, "width": 432, "height": 411, "class_id": 1 }, { "left": 2568, "top": 1346, "width": 710, "height": 305, "class_id": 2 }, { "left": 2571, "top": 1020, "width": 644, "height": 312, "class_id": 3 } ], "image_size": [ { "width": 4000, "height": 2667, "depth": 3 } ] }, "BB-metadata": { "job-name": "labeling-job/BB", "class-map": { "0": "comparator", "1": "pot_resistor", "2": "ir_phototransistor", "3": "ir_led" }, "human-annotated": "yes", "objects": [ { "confidence": 1 }, { "confidence": 1 }, { "confidence": 1 }, { "confidence": 1 } ], "creation-date": "2021-06-22T09:58:34.811Z", "type": "groundtruth/wrongtype", "cl-errors": [ { "code": "ERROR_UNSUPPORTED_USE_CASE_TYPE", "message": "The use case type of the BB-metadata label attribute metadata is unsupported. Check the type field." } ] }, "cl-metadata": { "is_labeled": true }, "cl-errors": [ { "code": "ERROR_NO_VALID_LABEL_ATTRIBUTES", "message": "No valid label attributes found." } ] }
修复 ERROR_UNSUPPORTED_USE_CASE_TYPE
  • 请选择以下选项之一:

    • 根据要创建的模型类型,将 type 字段的值更改为 groundtruth/image-classificationgroundtruth/object-detection。有关更多信息,请参阅 创建清单文件

    • 从清单中移除图像(JSON 行)。

ERROR_INVALID_LABEL_NAME_LENGTH

更多信息

标签名称的长度太长。最大长度为 256 个字符。

修复 ERROR_INVALID_LABEL_NAME_LENGTH
  • 请选择以下选项之一:

    • 将标签名称的长度减少到 256 个字符以内。

    • 从清单中移除图像(JSON 行)。