非终端JSON线路验证错误 - Rekognition

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

非终端JSON线路验证错误

本主题列出了 Amazon Rekognition 自定义标签在训练期间报告的非终端JSON线路验证错误。这些错误会在训练和测试验证清单中报告。有关更多信息,请参阅 了解训练和测试验证结果清单。您可以通过更新训练或测试清单文件中的JSON行来修复非终端JSON行错误。您也可以从清单中移除 JSON Line,但这样做可能会降低模型的质量。如果非终止性验证错误太多,您可能会发现重新创建清单文件更容易。验证错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件。有关修复验证错误的信息,请参阅修复训练错误。有些错误可以使用 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 值的格式无效。

更多信息

source-ref密钥存在于JSON行中,但是 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_不_ _ 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_否_ _ _ VALID LABEL ATTRIBUTES

错误消息

未找到有效的标签属性。

更多信息

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

如果某JSON行不是支持的 SageMaker 清单格式,Amazon Rekognition 自定义标签会将该行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行的格式无效。

更多信息

在 L JSON ine 中发现了一个意想不到的角色。该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. 通过调用获取图像的现有JSON线路ListDatasetEntries。对于 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_不_ _ 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 Line 的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

    • 从清单中移除图片(JSONLine)。

ERROR_TOO_MANY_BOUNDING_BOXES

错误消息

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

更多信息

边界框的数量超出了允许的最大数量 (50)。您可以在 Amazon Rekognition 定制标签控制台中移除多余的边界框,也可以将其从生产线上移除。JSON

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

  2. 打开亚马逊 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_不_ ANNOTATIONS

警告消息

未提供注释。

更多信息

尽管由人类注释,但对象本地化格式的JSON行不包含任何边界框信息 () human-annotated = yes。这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线条中。有关更多信息,请参阅 清单文件中的物体定位

    • 从清单中移除图片(JSONLine)。

WARNING_不_ _ ATTRIBUTE ANNOTATIONS

警告消息

未提供属性注释。

更多信息

尽管由人类注释,但对象本地化格式的JSON行不包含任何边界框注释信息 () human-annotated = yesannotations 数组不存在或未填充。这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
  • 选择以下任一选项。

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

    • 移除边界框属性。

    • 从清单中移除图片(JSONLine)。如果线条中存在其他有效的边界框属性,则可以改为从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。有关更多信息,请参阅 创建清单文件

    • 从清单中移除图片(JSONLine)。

ERROR_INVALID_LABEL_NAME_LENGTH

更多信息

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

要修复 ERROR _ INVALID _ LABEL _ NAME _ LENGTH
  • 请选择以下选项之一:

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

    • 从清单中移除图片(JSONLine)。