调试失败的模型训练 - Rekognition

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

调试失败的模型训练

在模型训练期间,您可能会遇到错误。Amazon Rekognition 自定义标签会在控制台和来自的响应中报告训练错误。DescribeProjectVersions

错误要么是终止性错误(训练无法继续),要么是非终止性错误(训练可以继续)。对于与训练和测试数据集内容相关的错误,您可以下载验证结果(清单摘要以及训练和测试验证清单)。使用验证结果中的错误代码在本节中查找更多信息。本节还提供了清单文件错误(在验证清单文件内容之前发生的终止性错误)的信息。

注意

清单是用于存储数据集内容的文件。

可以使用 Amazon Rekognition Custom Labels 控制台修复部分错误。其他错误可能需要您更新训练或测试清单文件。您可能需要进行其他更改,例如IAM权限。有关更多信息,请参阅文档中的各个错误。

终止性错误

终止性错误会停止模型的训练。终止性训练错误分为 3 类:服务错误、清单文件错误和清单内容错误。

在控制台中,Amazon Rekognition Custom Labels 会在项目页面的状态消息列中显示模型的终止性错误。项目管理控制面板显示项目列表,包括名称、版本、创建日期、模型性能以及指示模型状态(例如训练已完成或失败)的状态消息

项目管理控制面板的屏幕截图。

如果您使用 AWS SDK,则可以通过查看来自DescribeProjectVersions的响应来确定是否发生了终端清单文件错误或终端清单内容错误。在本例中,Status 值为 TRAINING_FAILEDStatusMessage 字段包含错误。

服务错误

当 Amazon Rekognition 遇到服务问题且无法继续训练时,就会发生终止性服务错误。例如,Amazon Rekognition Custom Labels 所依赖的另一项服务出现故障。当 Amazon Rekognition 遇到服务问题时,Amazon Rekognition Custom Labels 就会在控制台中报告服务错误。如果您使用 AWS SDK,则训练期间发生的服务错误将由CreateProjectVersion和作为InternalServerError异常引发DescribeProjectVersions

如果发生服务错误,请重试模型训练。如果培训仍然失败,请联系 Su AWSpp ort,并附上与服务错误一起报告的所有错误信息。

终止性清单文件错误列表

清单文件错误是终止性错误,在训练和测试数据集中的文件级或跨多个文件发生。清单文件错误可在验证训练和测试数据集内容之前检测到。清单文件错误会阻止报告非终止性验证错误。例如,空的训练清单文件会生成清单文件为空错误。由于文件为空,因此无法报告任何非终端JSON行验证错误。也不会创建清单摘要。

必须先修复清单文件错误,然后才能训练模型。

下面列出了清单文件错误。

终止性清单内容错误列表

清单内容错误是与清单中的内容相关的终止性错误。例如,如果收到错误清单文件中每个标签包含的带标签图像不足,无法执行自动拆分,训练将无法完成,因为训练数据集中没有足够的带标签图像来创建测试数据集。

该错误除了在控制台和 DescribeProjectVersions 的响应中报告以外,还与任何其他终止性清单内容错误一起在清单摘要中报告。有关更多信息,请参阅 了解清单摘要

非终端JSON线路错误也会在单独的训练和测试验证结果清单中报告。Amazon Rekognition 自定义标签发现的非终端JSON行错误不一定与停止训练的清单内容错误有关。有关更多信息,请参阅 了解训练和测试验证结果清单

必须先修复清单内容错误,然后才能训练模型。

以下是清单内容错误的错误消息。

非终端JSON行验证错误列表

JSON行验证错误是非终端错误,不需要亚马逊 Rekognition 自定义标签即可停止训练模型。

JSON控制台中未显示线路验证错误。

在训练和测试数据集中,一条JSON线表示单个图像的训练或测试信息。JSONLine 中的验证错误(例如图像无效)会在训练和测试验证清单中报告。Amazon Rekognition 自定义标签使用清单中的其他JSON有效行完成训练。有关更多信息,请参阅 了解训练和测试验证结果清单。有关验证规则的信息,请参阅清单文件的验证规则

注意

如果JSON线路错误太多,训练就会失败。

我们建议您同时修复非终端JSON线错误错误,因为它们可能会导致将来的错误或影响您的模型训练。

Amazon Rekognition 自定义标签可能会生成以下非终端线路验证错误。JSON