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

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

TensorFlow 精简版图像分类

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

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

Versions

此组件具有以下版本:

  • 2.x

Type

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

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

Requirements

要部署组件,必须满足组件及其dependencies。此组件具有以下要求:

  • 在运行亚马逊 Linux 2 或 Ubuntu 18.04 的 Greengrass 核心设备上,GNU C 库(gli) 版本 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.x 版本的依赖关系。

依赖关系 兼容版本 依赖关系类型
Greengrass 核心 >=2.0.0 软性
TensorFlow 精简版图像分类模型店 >=2.1.0 硬性
TensorFlow 精简版本 ~ 2.5.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 核心设备的摄像机的图像。当您将此值设置为true,示例推理代码将访问设备上的摄像机,并在所捕获的图像上本地运行推理。值为ImageNameImageDirectory将忽略参数。确保运行此组件的用户具有对摄像机存储捕获图像的位置的读/写访问权限。

默认值:false

注意

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

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

Changelog

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

版本

更改

2.1.0

初始版本。