

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

# 运行经过训练的 Amazon Rekognition Custom Labels 模型
<a name="running-model"></a>

当您对模型性能感到满意后，就可以开始使用它了。您可以使用控制台或 AWS SDK 启动和停止模型。控制台还包含您可以使用的示例 SDK 操作。

**Topics**
+ [推理单元](#running-model-inference-units)
+ [可用区](#running-model-availability-zones)
+ [启动 Amazon Rekognition Custom Labels 模型](rm-start.md)
+ [停止 Amazon Rekognition Custom Labels 模型](rm-stop.md)
+ [报告运行时长和使用的推理单元](rm-model-usage.md)

## 推理单元
<a name="running-model-inference-units"></a>

启动模型时，需要指定模型使用的计算资源（称为推理单元）的数量。

**重要**  
根据您配置模型运行的方式，您需要为模型运行的小时数和模型在运行时使用的推理单元数付费。例如，如果使用两个推理单元启动模型并使用模型 8 小时，则需要支付 16 个推理小时（8 小时运行时间 x 两个推理单元）的费用。有关更多信息，请参阅[推理小时](https://aws.amazon.com/rekognition/pricing/#Amazon_Rekognition_Custom_Labels_pricing)。如果没有明确[停止模型](rm-stop.md)，则即使没有主动使用模型来分析图像，也需要付费。

单个推理单元支持的每秒事务数 (TPS) 受以下因素影响。
+ 检测图像级标签（分类）的模型通常比使用边界框检测和定位物体（物体检测）的模型具有更高的 TPS。
+ 模型的复杂性。
+ 分辨率更高的图像需要的分析时间更多。
+ 图像中包含的物体越多，需要的分析时间也越多。
+ 小图像的分析速度比大图像更快。
+ 以图像字节形式传递的图像与先将图像上传到 Amazon S3 存储桶，然后再引用上传的图像相比，前者的分析速度更快。以图像字节形式传递的图像必须小于 4.0 MB。在近乎实时地处理大小小于 4.0 MB 的图像时，建议使用图像字节。例如，从 IP 摄像头捕获的图像。
+ 处理存储在 Amazon S3 存储桶中的图像，比下载图像、转换为图像字节，然后再传递图像字节进行分析要快。
+ 分析已存储在 Amazon S3 存储桶中的图像可能比分析作为图像字节传递的相同图像要快。当图像较大时，尤其如此。

如果调用 `DetectCustomLabels` 的次数超过了模型使用的推理单元总数所支持的最大 TPS，Amazon Rekognition Custom Labels 将返回 `ProvisionedThroughputExceededException` 异常。

### 使用推理单元管理吞吐量
<a name="running-model-manage-throughput"></a>

可以根据应用程序的需求提高或降低模型的吞吐量。可通过增加推理单元来提高吞吐量。每增加一个推理单元，您的处理速度就会增加一个推理单元。有关如何计算所需的推理单元数，请参阅[计算 Amazon Rekognition Custom Labels 和 Amazon Lookout for Vision 模型的推理单元数量](https://aws.amazon.com/blogs/machine-learning/calculate-inference-units-for-an-amazon-rekognition-custom-labels-model/)。如果要更改模型支持的吞吐量，您有两种选择：

#### 手动添加或移除推理单元
<a name="running-model-manual-inference-units"></a>

[停止](rm-stop.md)模型，然后使用所需数量的推理单元[重新启动](rm-start.md)模型。这种方法的缺点是，模型在重新启动时无法接收请求，也不能用于应对需求高峰。如果您的模型具有稳定的吞吐量，并且您的使用场景可以容忍 10-20 分钟的停机时间，请使用此方法。例如，您想使用每周计划对模型进行批量调用。

#### 自动扩缩推理单元数量
<a name="running-model-auto-scale-inference-units"></a>

如果模型必须应对需求高峰，Amazon Rekognition Custom Labels 可以自动扩缩模型使用的推理单元数量。随着需求的增加，Amazon Rekognition Custom Labels 会向模型添加额外的推理单元，并在需求减少时将其移除。

要让 Amazon Rekognition Custom Labels 自动扩缩模型的推理单元，请[启动](rm-start.md)模型并使用 `MaxInferenceUnits` 参数设置模型可使用的最大推理单元数。通过设置最大推理单元数，您可以通过限制模型可使用的推理单元数量来管理模型的运行成本。如果不指定最大单元数，Amazon Rekognition Custom Labels 将不会自动扩缩模型，而只会使用启动时所用的推理单元数。有关最大推理单元数的信息，请参阅[服务限额](https://docs.aws.amazon.com/general/latest/gr/rekognition.html#limits_rekognition)。

您也可使用 `MinInferenceUnits` 参数指定最小推理单元数。这可让您为模型指定最小吞吐量，这里的一个推理单元代表 1 小时的处理时间。

**注意**  
无法通过 Amazon Rekognition Custom Labels 控制台设置最大推理单元数，而应通过为 `StartProjectVersion` 操作指定 `MaxInferenceUnits` 输入参数来设置。

Amazon Rekognition 自定义标签提供了以下 CloudWatch 亚马逊日志指标，您可以使用这些指标来确定模型当前的自动扩展状态。


| 指标 | 说明 | 
| --- | --- | 
| `DesiredInferenceUnits` | Amazon Rekognition Custom Labels 要增加或缩减到的推理单元数量。 | 
| `InServiceInferenceUnits` | 模型正在使用的推理单元数量。 | 

如果 `DesiredInferenceUnits` = `InServiceInferenceUnits`，Amazon Rekognition Custom Labels 目前不会增减推理单元的数量。

如果 `DesiredInferenceUnits` > `InServiceInferenceUnits`，Amazon Rekognition Custom Labels 会将数量增加到 `DesiredInferenceUnits` 的值。

如果 `DesiredInferenceUnits` < `InServiceInferenceUnits`，Amazon Rekognition Custom Labels 会将数量缩减到 `DesiredInferenceUnits` 的值。

 [有关亚马逊 Rekognition 自定义标签和筛选维度返回的指标的更多信息，请参阅 Rekognition 的指标。CloudWatch ](https://docs.aws.amazon.com/rekognition/latest/dg/cloudwatch-metricsdim.html)

要了解您为模型请求的最大推理单元数，请调用 `DescribeProjectsVersion` 并检查响应中的 `MaxInferenceUnits` 字段。有关示例代码，请参阅[描述模型 (SDK)](md-describing-model-sdk.md)。

## 可用区
<a name="running-model-availability-zones"></a>

Amazon Rekognition Custom Labels 会将推理单元分配到 AWS 区域内的多个可用区，以提高可用性。有关更多信息，请参阅[可用区](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/#Availability_Zones)。为帮助保护生产模型免受可用区中断和推理单元故障的影响，请使用至少两个推理单元启动生产模型。

如果可用区中断，可用区中的所有推理单元都将无法使用，模型容量也会减少。对的调[DetectCustomLabels](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DetectCustomLabels)用将重新分配到其余的推理单元中。如果此类调用不超过其余推理单元支持的每秒事务数 (TPS)，则会成功。AWS 修复可用区后，推理单元将重新启动，模型也将恢复其全部容量。

如果单个推理单元出现故障，Amazon Rekognition Custom Labels 会自动在同一可用区内启动新的推理单元。在新推理单元启动之前，模型容量会降低。