

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

# 从 Amazon S3 存储桶导入图像
<a name="md-create-dataset-s3"></a>

从 Amazon S3 存储桶中导入图像。您可以使用控制台存储桶或 AWS 账户中的其他 Amazon S3 存储桶。如果使用的是控制台存储桶，则所需权限已设置完毕。如果使用的不是控制台存储桶，请参阅[访问外部 Amazon S3 存储桶](su-console-policy.md#su-external-buckets)。

**注意**  
您不能使用 AWS 软件开发工具包直接从 Amazon S3 存储桶中的图像创建数据集。相反，应创建一个引用这些图像的源位置的清单文件。有关更多信息，请参阅 [使用清单文件导入图像](md-create-dataset-ground-truth.md)。

在创建数据集期间，可以选择根据包含图像的文件夹的名称，为图像分配标签名称。这些文件夹必须是您在创建数据集期间在 **S3 文件夹位置**中指定的 Amazon S3 文件夹路径的子文件夹。要创建数据集，请参阅[通过从 S3 存储桶导入图像来创建数据集](#cd-procedure)。

例如，假设 Amazon S3 存储桶中的文件夹结构如下。如果将 Amazon S3 文件夹位置指定为 *S3-bucket/alexa-devices*，则 *echo* 文件夹中的图像会被分配 *echo* 标签。同样，*echo-dot* 文件夹中的图像会被分配 *echo-dot* 标签。不会使用更深层子文件夹的名称来标注图像，而会使用 Amazon S3 文件夹位置的相应子文件夹。例如，文件夹中的图像*white-echo-dots*被分配了标签 e *cho-* dot。S3 文件夹位置 (*alexa-devices*) 层级的图像不会被分配标签。

 可以通过指定更深层的 S3 文件夹位置，使用文件夹结构中的更深层文件夹来标注图像。例如，如果您指定 *S3 bucket/alexa-devices/echo-dot*，*white-echo-dot*则会标记*white-echo-dot*文件夹中的图像。不会导入指定 s3 文件夹位置（例如 *echo*）之外的图像。

```
S3-bucket
└── alexa-devices
    ├── echo
    │   ├── echo-image-1.png
    │   └── echo-image-2.png
    │   ├── .
    │   └── .
    └── echo-dot
        ├── white-echo-dot
        │   ├── white-echo-dot-image-1.png
        │   ├── white-echo-dot-image-2.png
        │
        ├── echo-dot-image-1.png
        ├── echo-dot-image-2.png
        ├── .
        └── .
```

我们建议您使用 Amazon Rekognition 在您首次在当前区域打开控制台时为您创建的 Amazon S3 存储桶（控制台存储桶）。 AWS 如果您使用的 Amazon S3 存储桶不是控制台存储桶，而是外部存储桶，则控制台会在创建数据集期间提示您设置适当的权限。有关更多信息，请参阅 [步骤 2：设置 Amazon Rekognition Custom Labels 控制台权限](su-console-policy.md)。

## 通过从 S3 存储桶导入图像来创建数据集
<a name="cd-procedure"></a>

以下过程介绍如何使用存储在 S3 控制台存储桶中的图像来创建数据集。这些图像会自动使用存储它们的文件夹的名称进行标注。

导入图像后，就可以从数据集的图库页面添加更多图像、分配标签和添加边界框。有关更多信息，请参阅 [标注图像](md-labeling-images.md)。<a name="cd-upload-s3-bucket"></a>

**将图像上传到 Amazon Simple Storage Service 存储桶。**

1. 在本地文件系统上创建文件夹。使用诸如 *alexa-devices* 之类的文件夹名称。

1. 在刚刚创建的文件夹中，创建以要使用的每个标签命名的文件夹。例如，*echo* 和 *echo-dot*。文件夹结构应类似于以下结构。

   ```
   alexa-devices
   ├── echo
   │   ├── echo-image-1.png
   │   ├── echo-image-2.png
   │   ├── .
   │   └── .
   └── echo-dot
       ├── echo-dot-image-1.png
       ├── echo-dot-image-2.png
       ├── .
       └── .
   ```

1. 将与标签对应的图像放入与标签同名的文件夹中。

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 将您在步骤 1 中创建的[文件夹添加到](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)*首次设置*时由 Amazon Rekognition Custom Labels 为您创建的 Amazon S3 存储桶（控制台存储桶）中。有关更多信息，请参阅 [管理 Amazon Rekognition Custom Labels 项目](managing-project.md)。

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

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

1. 选择**开始**。

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

1. 在**项目**页面上，选择要向其添加数据集的项目。此时将显示项目的详细信息页面。

1. 选择**创建数据集**。此时将显示**创建数据集**页面。

1. 在**开始配置**中，选择**从单个数据集开始**或**从训练数据集开始**。要创建更高质量的模型，建议从单独的训练和测试数据集开始。

------
#### [ Single dataset ]

   1. 在**训练数据集详细信息**部分中，选择**从 S3 存储桶导入图像**。

   1. 在**训练数据集详细信息**部分中，于**图像源配置**部分输入步骤 13-15 的信息。

------
#### [ Separate training and test datasets ]

   1. 在**训练数据集详细信息**部分中，选择**从 S3 存储桶导入图像**。

   1. 在**训练数据集详细信息**部分中，于**图像源配置**部分输入步骤 13-15 的信息。

   1. 在**测试数据集详细信息**部分中，选择**从 S3 存储桶导入图像**。

   1. 在**测试数据集详细信息**部分中，于**图像源配置**部分输入步骤 13-15 的信息。

------

1. 选择**从 Amazon S3 存储桶导入图像**。

1. 在 **S3 URI** 中，输入 Amazon S3 存储桶的位置和文件夹路径。

1. 选择**根据文件夹自动为图像附加标签**。

1. 选择**创建数据集**。这时会打开项目的数据集页面。

1. 如果需要添加或更改标签，请执行[标注图像](md-labeling-images.md)中的操作。

1. 按照[训练模型（控制台）](training-model.md#tm-console)中的步骤训练您的模型。