

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

# 调试数据集
<a name="debugging-datasets"></a>

在数据集创建过程中，可能会发生两种类型的错误：*终止性错误*和*非终止性错误*。终止性错误可能会停止数据集的创建或更新。非终止性错误不会停止数据集的创建或更新。

**Topics**
+ [调试终止性数据集错误](debugging-datasets-terminal-errors.md)
+ [调试非终止性数据集错误](debugging-datasets-non-terminal-errors.md)

# 调试终止性数据集错误
<a name="debugging-datasets-terminal-errors"></a>

 终止性错误有两种类型：导致数据集创建失败的文件错误，以及 Amazon Rekognition Custom Labels 从数据集中移除的内容错误。如果内容错误太多，数据集创建会失败。

**Topics**
+ [终止性文件错误](#debugging-datasets-terminal-file-errors)
+ [终止性内容错误](#debugging-datasets-terminal-content-errors)

## 终止性文件错误
<a name="debugging-datasets-terminal-file-errors"></a>

以下是文件错误。可以通过调用 `DescribeDataset` 并检查 `Status` 和 `StatusMessage` 字段来获取有关文件错误的信息。有关示例代码，请参阅[描述数据集 (SDK)](md-describing-dataset-sdk.md)。
+ [ERROR\$1MANIFEST\$1INACCESSIBLE\$1OR\$1UNSUPPORTED\$1FORMAT](#md-error-status-ERROR_MANIFEST_INACCESSIBLE_OR_UNSUPPORTED_FORMAT)
+ [ERROR\$1MANIFEST\$1SIZE\$1TOO\$1LARGE](#md-error-status-ERROR_MANIFEST_SIZE_TOO_LARGE).
+ [ERROR\$1MANIFEST\$1ROWS\$1EXCEEDS\$1MAXIMUM](#md-error-status-ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM)
+ [ERROR\$1INVALID\$1PERMISSIONS\$1MANIFEST\$1S3\$1BUCKET](#md-error-status-ERROR_INVALID_PERMISSIONS_MANIFEST_S3_BUCKET)
+ [ERROR\$1TOO\$1MANY\$1RECORDS\$1IN\$1ERROR](#md-error-status-ERROR_TOO_MANY_RECORDS_IN_ERROR)
+ [ERROR\$1MANIFEST\$1TOO\$1MANY\$1LABELS](#md-error-status-ERROR_MANIFEST_TOO_MANY_LABELS)
+ [ERROR\$1INSUFFICIENT\$1IMAGES\$1PER\$1LABEL\$1FOR\$1DISTRIBUTE](#md-error-status-ERROR_INSUFFICIENT_IMAGES_PER_LABEL_FOR_DISTRIBUTE)

### ERROR\$1MANIFEST\$1INACCESSIBLE\$1OR\$1UNSUPPORTED\$1FORMAT
<a name="md-error-status-ERROR_MANIFEST_INACCESSIBLE_OR_UNSUPPORTED_FORMAT"></a>

#### 错误消息
<a name="md-error-message-ERROR_MANIFEST_INACCESSIBLE_OR_UNSUPPORTED_FORMAT"></a>

清单文件扩展名或内容无效。

训练或测试清单文件没有文件扩展名或其内容无效。

**修复错误 *ERROR\$1MANIFEST\$1INACCESSIBLE\$1OR\$1UNSUPPORTED\$1FORMAT***
+ 在训练和测试清单文件中检查以下可能的原因。
  + 清单文件缺少文件扩展名。按照惯例，文件扩展名为 `.manifest`。
  +  找不到清单文件的 Amazon S3 存储桶或密钥。

### ERROR\$1MANIFEST\$1SIZE\$1TOO\$1LARGE
<a name="md-error-status-ERROR_MANIFEST_SIZE_TOO_LARGE"></a>

#### 错误消息
<a name="md-error-message-ERROR_MANIFEST_SIZE_TOO_LARGE"></a>

清单文件大小超过了支持的最大大小。

训练或测试清单文件大小（以字节为单位）太大。有关更多信息，请参阅 [Amazon Rekognition Custom Labels 中的准则和配额](limits.md)。清单文件可能会 JSON 行数少于最大值，但文件大小超过最大值。

无法使用 Amazon Rekognition Custom Labels 控制台修复错误：*清单文件大小超过了支持的最大大小*。

**修复错误 *ERROR\$1MANIFEST\$1SIZE\$1TOO\$1LARGE***

1. 检查哪些训练和测试清单文件超过了最大文件大小。

1. 减少过大的清单文件中的 JSON 行数。有关更多信息，请参阅 [创建清单文件](md-create-manifest-file.md)。

### ERROR\$1MANIFEST\$1ROWS\$1EXCEEDS\$1MAXIMUM
<a name="md-error-status-ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM"></a>

#### 错误消息
<a name="md-error-message-ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM"></a>

清单文件中的行数太多。

#### 更多信息
<a name="md-error-description-ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM"></a>

清单文件中的 JSON 行数（图像数）大于允许的限制。图像级模型和物体位置模型的限制不同。有关更多信息，请参阅 [Amazon Rekognition Custom Labels 中的准则和配额](limits.md)。

系统会验证 JSON 行错误，直至 JSON 行数达到 `ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM` 限制。

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

**修复 `ERROR_MANIFEST_ROWS_EXCEEDS_MAXIMUM`**
+ 减少清单中的 JSON 行数。有关更多信息，请参阅 [创建清单文件](md-create-manifest-file.md)。



### ERROR\$1INVALID\$1PERMISSIONS\$1MANIFEST\$1S3\$1BUCKET
<a name="md-error-status-ERROR_INVALID_PERMISSIONS_MANIFEST_S3_BUCKET"></a>

#### 错误消息
<a name="md-error-message-ERROR_INVALID_PERMISSIONS_MANIFEST_S3_BUCKET"></a>

S3 存储桶权限不正确。

Amazon Rekognition Custom Labels 不具有对一个或多个包含训练和测试清单文件的存储桶的权限。

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

**修复错误 *ERROR\$1INVALID\$1PERMISSIONS\$1MANIFEST\$1S3\$1BUCKET***
+ 检查对包含训练和测试清单的存储桶的权限。有关更多信息，请参阅 [步骤 2：设置 Amazon Rekognition Custom Labels 控制台权限](su-console-policy.md)。

### ERROR\$1TOO\$1MANY\$1RECORDS\$1IN\$1ERROR
<a name="md-error-status-ERROR_TOO_MANY_RECORDS_IN_ERROR"></a>

#### 错误消息
<a name="md-error-message-ERROR_TOO_MANY_RECORDS_IN_ERROR"></a>

 清单文件有太多终止性错误。

**修复 `ERROR_TOO_MANY_RECORDS_IN_ERROR`**
+ 减少有终止性内容错误的 JSON 行（图像）的数量。有关更多信息，请参阅 [终止性清单内容错误](tm-debugging-aggregate-errors.md)。

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

### ERROR\$1MANIFEST\$1TOO\$1MANY\$1LABELS
<a name="md-error-status-ERROR_MANIFEST_TOO_MANY_LABELS"></a>

#### 错误消息
<a name="md-error-message-ERROR_MANIFEST_TOO_MANY_LABELS"></a>

清单文件包含的标签太多。

##### 更多信息
<a name="md-error-description-ERROR_MANIFEST_TOO_MANY_LABELS"></a>

清单（数据集）中唯一标签的数量超过了允许的限制。如果拆分训练数据集来创建测试数据集，则标签数量将在拆分后确定。

**修复 ERROR\$1MANIFEST\$1TOO\$1MANY\$1LABELS（控制台）**
+ 从数据集中移除标签。有关更多信息，请参阅 [管理标签](md-labels.md)。标签会自动从数据集中的图像和边界框中移除。



**修复 ERROR\$1MANIFEST\$1TOO\$1MANY\$1LABELS（JSON 行）**
+ 清单包含图像级 JSON 行 - 如果图像只有一个标签，请移除使用所需标签的图像对应的 JSON 行。如果相关 JSON 行包含多个标签，请仅移除所需标签对应的 JSON 对象。有关更多信息，请参阅 [为图像添加多个图像级标签](md-create-manifest-file-classification.md#md-dataset-purpose-classification-multiple-labels)。

  清单包含物体位置 JSON 行 - 移除要移除的标签所对应的边界框和关联的标签信息。对包含所需标签的每个 JSON 行执行此操作。需要从 `class-map` 数组中移除标签并从 `objects` 和 `annotations` 数组中移除相应的对象。有关更多信息，请参阅 [清单文件中的物体定位](md-create-manifest-file-object-detection.md)。

### ERROR\$1INSUFFICIENT\$1IMAGES\$1PER\$1LABEL\$1FOR\$1DISTRIBUTE
<a name="md-error-status-ERROR_INSUFFICIENT_IMAGES_PER_LABEL_FOR_DISTRIBUTE"></a>

#### 错误消息
<a name="md-error-message-ERROR_MANIFEST_TOO_MANY_LABELS"></a>

清单文件中没有足够的带标签的图像来分配数据集。



当 Amazon Rekognition Custom Labels 拆分训练数据集来创建测试数据集时，就会发生数据集分配。也可以通过调用 `DistributeDatasetEntries` API 来拆分数据集。

**修复错误 *ERROR\$1MANIFEST\$1TOO\$1MANY\$1LABELS***
+ 向训练数据集中添加更多带标签的图像

## 终止性内容错误
<a name="debugging-datasets-terminal-content-errors"></a>

以下是终止性内容错误。在创建数据集的过程中，会从数据集中移除包含终止性内容错误的图像。该数据集仍可用于训练。如果内容错误太多， dataset/update 则失败。与数据集操作相关的终止性内容错误不会显示在控制台中，也不会从 `DescribeDataset` 或其他 API 返回。如果您发现数据集中缺少图像或注释，请检查您的数据集清单文件是否存在以下问题：
+ JSON 行的长度太长。最大长度为 100,000 个字符。
+ JSON 行中缺少 `source-ref` 值。
+ JSON 行中 `source-ref` 值的格式无效。
+ JSON 行的内容无效。
+ 一个 `source-ref` 字段值出现了多次。一张图像在一个数据集中只能被引用一次。

有关 `source-ref` 字段的信息，请参阅[创建清单文件](md-create-manifest-file.md)。

# 调试非终止性数据集错误
<a name="debugging-datasets-non-terminal-errors"></a>

以下是在数据集创建或更新过程中可能发生的非终止性错误。这些错误可能会使整个 JSON 行失效或使 JSON 行中的注释失效。如果 JSON 行有错误，则不会将其用于训练。如果 JSON 行中的注释有错误，仍会将该 JSON 行用于训练，但不包括损坏的注释。有关 JSON 行的更多信息，请参阅[创建清单文件](md-create-manifest-file.md)。

可以通过控制台以及通过调用 `ListDatasetEntries` API 来访问非终止性错误。有关更多信息，请参阅 [列出数据集条目 (SDK)](md-listing-dataset-entries-sdk.md)。

训练期间还会返回以下错误。建议您在训练模型之前先修复这些错误。有关更多信息，请参阅[非终止性 JSON 行验证错误](tm-debugging-json-line-errors.md)。
+ [ERROR\$1NO\$1LABEL\$1ATTRIBUTES](tm-debugging-json-line-errors.md#tm-error-ERROR_NO_LABEL_ATTRIBUTES)
+ [ERROR\$1INVALID\$1LABEL\$1ATTRIBUTE\$1FORMAT](tm-debugging-json-line-errors.md#tm-error-ERROR_INVALID_LABEL_ATTRIBUTE_FORMAT)
+ [ERROR\$1INVALID\$1LABEL\$1ATTRIBUTE\$1METADATA\$1FORMAT](tm-debugging-json-line-errors.md#tm-error-ERROR_INVALID_LABEL_ATTRIBUTE_METADATA_FORMAT)
+ [ERROR\$1NO\$1VALID\$1LABEL\$1ATTRIBUTES](tm-debugging-json-line-errors.md#tm-error-ERROR_NO_VALID_LABEL_ATTRIBUTES)
+ [ERROR\$1INVALID\$1BOUNDING\$1BOX](tm-debugging-json-line-errors.md#tm-error-ERROR_INVALID_BOUNDING_BOX)
+ [ERROR\$1INVALID\$1IMAGE\$1DIMENSION](tm-debugging-json-line-errors.md#tm-error-ERROR_INVALID_IMAGE_DIMENSION)
+ [ERROR\$1BOUNDING\$1BOX\$1TOO\$1SMALL](tm-debugging-json-line-errors.md#tm-error-ERROR_BOUNDING_BOX_TOO_SMALL)
+ [ERROR\$1NO\$1VALID\$1ANNOTATIONS](tm-debugging-json-line-errors.md#tm-error-ERROR_NO_VALID_ANNOTATIONS)
+ [ERROR\$1MISSING\$1BOUNDING\$1BOX\$1CONFIDENCE](tm-debugging-json-line-errors.md#tm-error-ERROR_MISSING_BOUNDING_BOX_CONFIDENCE)
+ [ERROR\$1MISSING\$1CLASS\$1MAP\$1ID](tm-debugging-json-line-errors.md#tm-error-ERROR_MISSING_CLASS_MAP_ID)
+ [ERROR\$1TOO\$1MANY\$1BOUNDING\$1BOXES](tm-debugging-json-line-errors.md#tm-error-ERROR_TOO_MANY_BOUNDING_BOXES)
+ [ERROR\$1UNSUPPORTED\$1USE\$1CASE\$1TYPE](tm-debugging-json-line-errors.md#tm-error-ERROR_UNSUPPORTED_USE_CASE_TYPE)
+ [ERROR\$1INVALID\$1LABEL\$1NAME\$1LENGTH](tm-debugging-json-line-errors.md#tm-error-ERROR_INVALID_LABEL_NAME_LENGTH)

## 访问非终止性错误
<a name="debugging-dataset-access-non-terminal-errors"></a>

可以使用控制台来找出数据集中存在非终止性错误的图像。也可以调用 `ListDatasetEntries` API 来获取错误消息。有关更多信息，请参阅 [列出数据集条目 (SDK)](md-listing-dataset-entries-sdk.md)。

**访问非终止性错误（控制台）**

1. 打开亚马逊 Rekognition 控制台，网址为[https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)。

1. 选择**使用自定义标签**。

1. 选择**开始**。

1. 在左侧导航窗格中，选择**项目**。

1. 在**项目**页面上，选择要使用的项目。此时将显示项目的详细信息页面。

1. 如果要查看训练数据集中的非终止性错误，请选择**训练**选项卡。否则，请选择**测试**选项卡，以查看测试数据集中的非终止性错误。

1. 在数据集库的**标签**部分，选择**错误**。数据集库经过筛选，仅显示有错误的图像。

1. 选择图像下方的**错误**以查看错误代码。按照[非终止性 JSON 行验证错误](tm-debugging-json-line-errors.md)中的说明修复错误。  
![\[错误对话框的“数据集记录错误”下显示“ERROR_UNSUPPORTED_USE_CASE_TYPE”和“ERROR_NO_VALID_LABEL_ATTRIBUTES”。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/dataset-non-terminal-error.jpg)