TensorFlow 精简版图像分类 - Amazon IoT Greengrass
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

TensorFlow 精简版图像分类

精简版图像分类组件 (aws.greengrass.TensorFlowLiteImageClassification)包含示例推理代码,用于执行图像分类推理TensorFlow 精简版运行时和一个样本预训练的 MobileNet 1.0 量化模型。此组件使用变量TensorFlow 精简版图像分类模型店TensorFlow 精简版本组件作为依赖关系来下载 TensorFlow 精简版运行时和示例模型。

要将此推理组件与自定义训练的 TensorFlow 精简版模型一起使用,创建自定义版本相关模型存储元件。要使用自己的自定义推理代码,您可以使用此组件的配方作为模板创建自定义推理组件.

Versions

此组件具有以下版本:

  • 2.1.x

Type

此组件是一个通用组件 (aws.greengrass.generic)。这些区域有:Greengrass 核心运行组件的生命周期脚本。

有关更多信息,请参阅组件类型

Requirements

此组件有以下要求:

  • 在运行亚马逊 Linux 2 或 Ubuntu 18.04 的 Greengrass 核心设备上,GNU C 库(glibc) 版本 2.27 或更高版本安装在设备上。

  • 在 ARMV7L 设备上,如树莓派,依赖于在设备上安装的 OpenCV Python。运行以下命令来安装依赖项:

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev

Dependencies

部署组件时,Amazon IoT Greengrass还部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求才能成功部署组件。此部分列出了发布版本以及定义每个依赖关系的组件版本的语义版本约束。您也可以在中查看每一版的组件的依赖关系。Amazon IoT Greengrass控制台. 在组件详细信息页面上,查找依赖项列表。

2.1.3

下表列出了此组件 2.1.3 版的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.5.0 软性
TensorFlow 精简版图像分类模型店 >=2.2.0 硬性
TensorFlow 精简版 >=2.6.0 硬性
2.1.2

下表列出了此组件 2.1.2 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.0.0 <2.4.0 软性
TensorFlow 精简版图像分类模型店 >=2.2.0 硬性
TensorFlow 精简版 >=2.6.0 硬性
2.1.1

下表列出此组件 2.1.1 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.3.0 软性
TensorFlow 精简版图像分类模型店 >=2.2.0 硬性
TensorFlow 精简版 >=2.6.0 硬性
2.1.0

下表列出此组件 2.1.0 版本的依赖关系。

依赖关系 兼容的版本 依赖关系类型
Greengrass 核心 >=2.2.0 软性
TensorFlow 精简版图像分类模型店 >=2.2.0 硬性
TensorFlow 精简版 >=2.6.0 硬性

Configuration

此组件提供了以下配置参数,您可以在部署组件时自定义这些参数。

accessControl

(可选)包含授权策略,允许组件向默认通知主题发布消息。

默认值:

{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/image-classification" ] } } }
PublishResultsOnTopic

(可选)要发布推断结果的主题。如果修改此值,则还必须修改resources中的accessControl参数以匹配您的自定义主题名称。

默认值:ml/tflite/image-classification

Accelerator

要使用的加速器。支持的值为 cpugpu

相关模型组件中的示例模型仅支持 CPU 加速。要将 GPU 加速与其他自定义模型一起使用,创建自定义模型组件来覆盖公共模型组件。

默认值:cpu

ImageDirectory

(可选)推理组件读取图像的设备上文件夹的路径。您可以将此值修改为设备上具有读/写访问权限的任何位置。

默认值:/greengrass/v2/packages/artifacts-unarchived/component-name/image_classification/sample_images/

注意

如果您将UseCameratrue为时将忽略此配置参数。

ImageName

(可选) 推理组件使用作为使预测输入图像的名称. 该组件在ImageDirectory. 默认情况下,组件使用默认图像目录中的示例图像。Amazon IoT Greengrass支持以下图像格式:jpegjpgpng, 和npy.

默认值:cat.jpeg

注意

如果您将UseCameratrue为时将忽略此配置参数。

InferenceInterval

(可选)推断代码进行每个预测之间的时间(以秒为单位)。示例推理代码无限期运行,并在指定的时间间隔重复其预测值。例如,如果要使用摄像机拍摄的图像进行实时预测,则可以将其更改为较短的间隔。

默认值:3600

ModelResourceKey

(可选)在从属公共模型组件中使用的模型。仅当使用自定义组件覆盖公共模型组件时,才修改此参数。

默认值:

{ model: "TensorFlowLite-Mobilenet" }
UseCamera

(可选)字符串值,用于定义是否使用连接到 Greengrass 核心设备的摄像机的图像。支持的值为 truefalse

当您将此值设置为true,示例推理代码将访问设备上的摄像机,并在所捕获的图像上本地运行推理。的值ImageNameImageDirectory参数将被忽略。确保运行此组件的用户具有对摄像机存储捕获图像的位置的读/写访问权限。

默认值:false

注意

当您查看此组件的配方时,UseCamera配置参数不会显示在默认配置中。不过,您可以将此参数的值修改为配置 merge 更新当您部署组件时。

当您设置UseCameratrue,还必须创建符号链接,以使推理组件能够从运行时组件创建的虚拟环境访问摄像机。有关将摄像机与示例推理组件结合使用的更多信息,请参阅更新组件配置.

Changelog

下表介绍每一版的中的更改。

Version

更改

2.1.3

更新 Greengrass 核 2.4.0 版发行。

2.1.2

更新 Greengrass 核 2.3.0 版发行。

2.1.1

已更新适用于 Greengrass 原核 2.2.0 版发行。

2.1.0

初始版本。