本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
执行机器学习推理
借Amazon IoT Greengrass助,您可以使用经过云训练的模型在边缘设备上对本地生成的数据执行机器学习 (ML) 推断。您可以从运行本地推理的低延迟和成本节省中受益,且仍然可以利用云计算在训练模型和复杂处理方面的强大功能。
Amazon IoT Greengrass提高了执行推理所需的步骤的效率。您可以在任何地方训练推理模型,并将它们作为机器学习组件部署在本地。例如,您可以在亚马逊中构建和训练深度学习模型, SageMaker或者在 Amazon
主题
Amazon IoT Greengrass ML 推理的工作原理
Amazon提供机器学习组件,您可以使用这些组件创建一站式部署,以便在设备上执行机器学习推理。您还可以使用这些组件作为模板来创建自定义组件以满足您的特定要求。
Amazon提供以下类别的机器学习组件:
-
模型组件-包含作为 Greengrass 工件的机器学习模型。
-
运行时组件-包含在 Greengrass 核心设备上安装机器学习框架及其依赖项的脚本。
-
推理组件-包含推理代码和组件依赖关系,用于安装机器学习框架和下载预先训练的机器学习模型。
您为执行机器学习推理而创建的每个部署都包含至少一个组件,用于运行您的推理应用程序、安装机器学习框架和下载您的机器学习模型。要使用Amazon提供的组件执行样本推理,您需要将推理组件部署到核心设备,该组件会自动将相应的模型和运行时组件作为依赖项包括在内。要自定义部署,您可以将示例模型组件插入或替换为自定义模型组件,也可以将Amazon提供的组件配方用作模板来创建自己的自定义推理、模型和运行时组件。
要使用自定义组件执行机器学习推理,请执行以下操作:
-
创建模型组件。该组件包含您想要用于执行推理的机器学习模型。 Amazon提供预训练的 DLR 和 L TensorFlow ite 模型示例。要使用自定义模型,请创建自己的模型组件。
-
创建运行时组件。此组件包含为模型安装机器学习运行时所需的脚本。 Amazon为深度学习运行时 (DLR) 和 L TensorFlow ite
提供示例运行时 组件。要将其他运行时与您的自定义模型和推理代码一起使用,请创建自己的运行时组件。 -
创建推理组件。该组件包含您的推理代码,并将您的模型和运行时组件作为依赖项包括在内。 Amazon为使用 DLR 和 L TensorFlow ite 的图像分类和物体检测提供示例推理组件。要执行其他类型的推理或使用自定义模型和运行时,请创建自己的推理组件。
-
部署推理组件。部署此组件时,Amazon IoT Greengrass还会自动部署模型和运行时组件依赖关系。
要开始使用Amazon提供的组件,请参阅教程:使用 TensorFlow Lite 执行样本图像分类推断。
有关创建自定义机器学习组件的信息,请参阅自定义您的机器学习组件。
Amazon IoT Greengrass版本 2 有何不同?
Amazon IoT Greengrass将机器学习的功能单元(例如模型、运行时和推理代码)整合为组件,使您能够使用一步流程安装机器学习运行库、下载经过训练的模型并在设备上执行推理。
通过使用Amazon提供的机器学习组件,您可以灵活地开始使用示例推理代码和预训练模型执行机器学习推理。您可以插入自定义模型组件,使用自己的自定义训练模型以及Amazon提供的推理和运行时组件。对于完全自定义的机器学习解决方案,您可以使用公共组件作为模板来创建自定义组件,并使用所需的任何运行时、模型或推理类型。
要求
要创建和使用机器学习组件,您必须具备以下内容:
-
Greengrass 的核心设备。如果没有,请参阅教程:Amazon IoT Greengrass V2 入门。
-
使用Amazon提供的示例机器学习组件所需的至少 500 MB 本地存储空间。
支持的模型源
Amazon IoT Greengrass支持使用存储在 Amazon S3 中的自定义训练机器学习模型。您还可以使用 Amazon SageMaker 边缘打包任务直接为 SageMaker NEO 编译的模型创建模型组件。有关将 SageMaker Edge Manager 与一起使用的信息Amazon IoT Greengrass,请参见在 Greengrass 核心设备上使用亚马逊 SageMaker 边缘管理器。您还可以使用 Amazon Lookout for Vision 模型打包任务为 Lookout for Vision 模型创建模型组件。有关使用 Lookout for Vision 的更多信息Amazon IoT Greengrass,请参阅在 Greengrass 核心设备上使用 Amazon Lookout for Vision fo。
包含您的模型的 S3 存储桶必须满足以下要求:
-
它们不得使用 SSE-C 加密。 对于使用服务器端加密的存储桶,Amazon IoT Greengrass机器学习推断目前仅支持 SSE-S3 或 SSE-KMS 加密选项。有关服务器端加密选项的更多信息,请参阅 Amazon Simple Storage Service 用户指南中的使用服务器端加密保护数据。
-
它们的名称不得包含句点 (
.
)。有关更多信息,请参阅 Amazon Simple Storage Service 用户指南中的存储桶命名规则中的存储桶命名规则中的有关将虚拟托管样式存储桶与结合使用 SSL 的规则。 -
存储模型源的 S3 存储桶必须与您的机器学习组件位于Amazon Web Services 区域相同Amazon Web Services 账户和中。
-
Amazon IoT Greengrass必须拥有模型源的
read
权限。Amazon IoT Greengrass要允许访问 S3 存储桶,Greengrass 设备角色必须允许该s3:GetObject
操作。有关设备角色的更多信息,请参阅授权核心设备与Amazon服务。
支持的机器学习运行值
Amazon IoT Greengrass使您能够创建自定义组件,使用您选择的任何机器学习运行时对自定义训练的模型执行机器学习推理。有关创建自定义机器学习组件的信息,请参阅自定义您的机器学习组件。
为了提高机器学习入门过程的效率,Amazon IoT Greengrass提供了使用以下机器学习运行时的示例推理、模型和运行时组件:
-
深度学习运行时
(DLR) v1.6.0 和 v1.3.0 -
TensorFlow 精简版
v2.5.0
Amazon-提供的机器学习组件
下表列出了Amazon提供的用于机器学习的组件。
注意
Amazon提供的几个组件依赖于 Greengrass 核心的特定次要版本。由于这种依赖关系,在将 Greengrass nucleus 更新到新的次要版本时,需要更新这些组件。有关每个组件所依赖的 nucleus 的特定版本的信息,请参阅相应的组件主题。有关更新原子核的更多信息,请参阅更新Amazon IoT Greengrass核心软件 (OTA)。
组件 | 描述 | 取决于核 | 组件类型 | 支持的操作系统 | 开源 |
---|---|---|---|---|---|
Lookout Okout Vision | 在 Greengrass 核心设备上部署 Amazon Lookout for Vision 运行时,这样你就可以使用计算机视觉来发现工业产品中的缺陷。 | 否 | 通用的 | Linux | 否 |
SageMaker 边缘经理 | 在 Greengrass 核心设备上部署亚马逊 SageMaker 边缘管理器代理。 | 是 | 通用的 | Linux、Windows | 否 |
DLR 图像分级 | 推理组件,使用 DLR 图像分类模型存储和 DLR 运行时组件作为依赖关系,用于在支持的设备上安装 DLR、下载示例图像分类模型和执行图像分类推理。 | 是 | 通用的 | Linux、Windows | 否 |
DLR 物体检测 | 推理组件,使用 DLR 对象检测模型存储和 DLR 运行时组件作为依赖关系,用于安装 DLR、下载示例对象检测模型以及在支持的设备上执行对象检测推断。 | 是 | 通用的 | Linux、Windows | 否 |
DLR 图像分类模型库 | 包含作为 Greengrass 工件的 ResNet -50 个图像分类模型样本的模型组件。 | 是 | 通用的 | Linux、Windows | 否 |
DLR 对象检测模型存储 | 包含作为 Greengrass 工件的 YOLOv3 对象检测模型样本的模型组件。 | 是 | 通用的 | Linux、Windows | 否 |
DLR 运行时 | 包含安装脚本的运行时组件,用于在 Greengrass 核心设备上安装 DLR 及其依赖关系。 | 是 | 通用的 | Linux、Windows | 否 |
TensorFlow 精简版图像分类 | 推理组件,使用 TensorFlow Lite 图像分类模型存储和 TensorFlow Lite 运行时组件作为依赖关系,用于安装 TensorFlow Lite、下载示例图像分类模型以及在支持的设备上执行图像分类推理。 | 是 | 通用的 | Linux、Windows | 否 |
TensorFlow 精简版物体检测 | 推理组件,使用 TensorFlow Lite 对象检测模型存储和 TensorFlow Lite 运行时组件作为依赖关系,用于安装 TensorFlow Lite、下载示例对象检测模型以及在支持的设备上执行对象检测推断。 | 是 | 通用的 | Linux、Windows | 否 |
TensorFlow 精简版图像分类模型库 | 包含作为 Greengrass 工件的示例 MobileNet v1 模型的模型组件。 | 是 | 通用的 | Linux、Windows | 否 |
TensorFlow 精简版对象检测模型存储 | 包含作为 Greengrass 工件的单发检测 (SSD) MobileNet 模型样本的模型组件。 | 是 | 通用的 | Linux、Windows | 否 |
TensorFlow 精简版运行时间 | 包含安装脚本的运行时组件,用于在 Greengrass 核心设备上安装 TensorFlow Lite 及其依赖项。 | 是 | 通用的 | Linux、Windows | 否 |