本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
TensorFlow Lite 图像分类
TensorFlow Lite 图像分类组件 (aws.greengrass.TensorFlowLiteImageClassification
) 包含使用 TensorFlow Lite
要将此推理组件与自定义训练的 TensorFlow Lite 模型一起使用,请创建依赖模型存储组件的自定义版本。要使用自己的自定义推理代码,您可以使用此组件的配方作为模板来创建自定义推理组件。
版本
此组件具有以下版本:
-
2.1.x
类型
此组件是一个通用组件 (aws.greengrass.generic
)。Greengrass Nucleus 运行组件的生命周期脚本。
有关更多信息,请参阅 组件类型。
操作系统
此组件可以安装在运行以下操作系统的核心设备上:
Linux
Windows
要求
此组件具有以下要求:
-
在运行 Amazon Linux 2 或 Ubuntu 18.04 的 Greengrass 核心设备上,GNU C 库
(glibc)版本 2.27 或更高版本已安装在设备上。 -
在 Armv7l 设备(例如 Raspberry Pi)上,OpenCV-Python 的依赖关系已安装在设备上。运行以下命令以安装依赖关系。
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
-
运行 Raspberry Pi OS Bullseye 的 Raspberry Pi 设备必须满足以下要求:
-
NumPy 1.22.4 或更高版本已安装在设备上。Raspberry Pi OS Bullseye 包含早期版本的 NumPy,因此可以运行以下命令在设备上升级 NumPy。
pip3 install --upgrade numpy
-
旧摄像机堆栈已在设备上启用。Raspberry Pi OS Bullseye 包含一个新摄像机堆栈,该堆栈默认处于启用状态且不兼容,因此您必须启用旧摄像机堆栈。
启用旧摄像机堆栈
-
运行以下命令以打开 Raspberry Pi 配置工具。
sudo raspi-config
-
选择接口选项。
-
选择旧摄像机以启用旧摄像机堆栈。
-
重启 Raspberry Pi。
-
-
依赖项
在您部署组件时,Amazon IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
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
-
(可选)要将推理结果发布到的主题。如果修改此值,则还必须修改
accessControl
参数中resources
的值,以匹配您的自定义主题名称。默认:
ml/tflite/image-classification
Accelerator
-
要使用的加速器。支持的值为
cpu
和gpu
。依赖模型组件中的示例模型仅支持 CPU 加速。要对不同的自定义模型使用 GPU 加速,请创建自定义模型组件以覆盖公共模型组件。
默认:
cpu
ImageDirectory
-
(可选)设备上推理组件读取图像的文件夹路径。可以将此值修改为设备上您拥有读/写访问权限的任何位置。
默认:
/packages/artifacts-unarchived//greengrass/v2
component-name
/image_classification/sample_images/注意
如果将
UseCamera
的值设置为true
,则忽略此配置参数。 ImageName
-
(可选)推理组件用作预测输入的图像名称。该组件可在
ImageDirectory
中指定的文件夹中查找图像。默认情况下,该组件使用默认图像目录中的示例图像。Amazon IoT Greengrass 支持以下图像格式:jpeg
、jpg
、png
和npy
。默认:
cat.jpeg
注意
如果将
UseCamera
的值设置为true
,则忽略此配置参数。 InferenceInterval
-
(可选)推理代码进行的每次预测之间的时间(以秒为单位)。示例推理代码无限期运行,并在指定的时间间隔内重复其预测。例如,如果您想使用摄像机拍摄的图像进行实时预测,则可以将其更改为较短的间隔。
默认:
3600
ModelResourceKey
-
(可选)在依赖的公共模型组件中使用的模型。仅当使用自定义组件覆盖公共模型组件时,才修改此参数。
默认值:
{ "model": "TensorFlowLite-Mobilenet" }
UseCamera
-
(可选)字符串值,用于定义是否使用连接到 Greengrass 核心设备的摄像机拍摄的图像。支持的值为
true
和false
。当您将此值设置为
true
时,示例推理代码将访问设备上的摄像机,并在本地对捕获的图像运行推理。ImageName
和ImageDirectory
参数的值将被忽略。请确保运行此组件的用户对摄像机存储所捕获图像的存储位置具有读/写访问权限。默认:
false
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
2.1.12 |
对 Greengrass Nucleus 版本 2.12.5 发行版进行了版本更新。 |
2.1.11 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
2.1.10 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
2.1.9 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
2.1.8 |
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
2.1.7 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
2.1.6 |
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。 |
2.1.5 |
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。 |
2.1.4 |
版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。 |
2.1.3 |
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。 |
2.1.2 |
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。 |
2.1.1 |
对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。 |
2.1.0 |
初始版本。 |