非终止性 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
检查
source-ref
键是否存在且拼写正确。完整的source-ref
键和值类似如下:"source-ref": "s3://bucket/path/image"
。更新 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
检查架构是否为
"source-ref": "s3://bucket/path/image"
。例如,"source-ref": "s3://custom-labels-console-us-east-1-1111111111/images/000000242287.jpg"
。更新或移除清单文件中的相关 JSON 行。
无法使用 Amazon Rekognition Custom Labels 控制台修复此 ERROR_INVALID_SOURCE_REF_FORMAT
。
ERROR_NO_LABEL_ATTRIBUTES
错误消息
未找到标签属性。
更多信息
标签属性或标签属性 -metadata
键名(或两者)无效或缺失。在以下示例中,每当缺少 bounding-box
或 bounding-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
检查标签属性标识符和标签属性标识符
-metadata
键是否存在,以及键名称拼写是否正确。更新或移除清单文件中的相关 JSON 行。
无法使用 Amazon Rekognition Custom Labels 控制台修复 ERROR_NO_LABEL_ATTRIBUTES
。
ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT
错误消息
标签属性 {} 的格式无效。
更多信息
标签属性键的架构缺失或无效。ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅创建清单文件。
修复 ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT
检查 JSON 行的标签属性键部分是否正确。在以下物体位置示例中,
image_size
和annotations
对象必须正确。该标签属性键名为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 }] },
更新或移除清单文件中的相关 JSON 行。
无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。
ERROR_INVALID_LABEL_ATTRIBUTE_METADATA_FORMAT
错误消息
标签属性元数据的格式无效。
更多信息
标签属性元数据键的架构缺失或无效。ERROR_INVALID_LABEL_ATTRIBUTE_METADATA_FORMAT 错误通常发生在手动创建的清单文件中。有关更多信息,请参阅 创建清单文件。
修复 ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT
检查标签属性元数据键的 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" }
更新或移除清单文件中的相关 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
检查 JSON 行中的标签属性键和标签属性元数据是否正确。
更新或移除清单文件中的相关 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
检查标签属性中的
objects
数组包含的 confidence 键数量是否与标签属性annotations
数组中的对象数量相同。更新或移除清单文件中的相关 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
检查每个注释(边界框)对象中的
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" } }更新或移除清单文件中的相关 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
打开清单文件并导航到发生 ERROR_INVALID_JSON_LINE 错误的 JSON 行。
检查该 JSON 行是否包含无效字符,以及是否缺少必要的
;
或,
字符。更新或移除清单文件中的相关 JSON 行。
ERROR_INVALID_IMAGE
错误消息
图像无效。请检查 S3 路径和/或图像属性。
更多信息
source-ref
引用的文件不是有效的图像。可能的原因包括图像的宽高比、图像大小和图像格式。
有关更多信息,请参阅 Amazon Rekognition Custom Labels 中的准则和配额。
修复 ERROR_INVALID_IMAGE
检查以下事项。
图像的宽高比是否小于 20:1。
图像大小是否大于 15 MB。
图像是否为 PNG 或 JPEG 格式。
source-ref
中的图像路径是否正确。图像的最小图像尺寸是否大于 64 像素 x 64 像素。
图像的最大图像尺寸是否大于 4096 像素 x 4096 像素。
更新或移除清单文件中的相关 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
(控制台)
使用 Amazon Rekognition Custom Labels 能够处理的尺寸更新 Amazon S3 存储桶中的图像。
在 Amazon Rekognition Custom Labels 控制台中,执行以下操作:
从图像中移除现有的边界框。
将边界框重新添加到图像中。
保存您的更改。
有关更多信息,请参阅 使用边界框标注物体。
修复 ERROR_INVALID_IMAGE_DIMENSION
(SDK)
使用 Amazon Rekognition Custom Labels 能够处理的尺寸更新 Amazon S3 存储桶中的图像。
通过调用 ListDatasetEntries 获取该图像的现有 JSON 行。对于
SourceRefContains
输入参数,请指定图像的 Amazon S3 位置和文件名。调用 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
检查
annotations
数组中边界框的值。"bounding-box": { "image_size": [{ "width": 640, "height": 480, "depth": 3 }], "annotations": [{ "class_id": 1,
"top": 251, "left": 399, "width": 155, "height": 101
}] },更新或移除清单文件中的相关 JSON 行。
无法使用 Amazon Rekognition Custom Labels 控制台修复此错误。
ERROR_NO_VALID_ANNOTATIONS
错误消息
未找到有效的注释。
更多信息
JSON 行中的所有注释对象均不包含有效的边界框信息。
修复 ERROR_NO_VALID_ANNOTATIONS
更新
annotations
数组以包含有效的边界框对象。此外,请检查标签属性元数据中的相应边界框信息(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" } }更新或移除清单文件中的相关 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
(控制台)。
决定要移除哪些边界框。
通过以下网址打开 Amazon Rekognition 控制台:https://console.aws.amazon.com/rekognition/
。 选择使用自定义标签。
选择开始。
在左侧导航窗格中,选择包含要使用的数据集的项目。
在数据集部分中,选择要使用的数据集。
在数据集库页面中,选择开始标注进入标注模式。
选择要从中移除边界框的图像。
选择绘制边界框。
在绘图工具中,选择要删除的边界框。
按键盘上的删除键即可删除边界框。
重复前面的 2 个步骤,直到删除了足够的边界框。
选择完成。
选择保存更改以保存您的更改。
选择退出,退出标注模式。
修复 ERROR_TOO_MANY_BOUNDING_BOXES(JSON 行)。
打开清单文件并导航到发生 ERROR_TOO_MANY_BOUNDING_BOXES 错误的 JSON 行。
对于要移除的每个边界框,移除以下内容。
从
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
使用 Amazon Rekognition Custom Labels 控制台为图像添加标签。有关说明,请参阅 为图像分配图像级标签。
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-classification
或 groundtruth/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-classification
或groundtruth/object-detection
。有关更多信息,请参阅 创建清单文件。从清单中移除图像(JSON 行)。
ERROR_INVALID_LABEL_NAME_LENGTH
更多信息
标签名称的长度太长。最大长度为 256 个字符。
修复 ERROR_INVALID_LABEL_NAME_LENGTH
请选择以下选项之一:
将标签名称的长度减少到 256 个字符以内。
从清单中移除图像(JSON 行)。