本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
TensorFlow Lite 运行时
TensorFlow Lite 运行时组件 (variant.TensorFlowLite
) 包含一个在设备虚拟环境中安装 TensorFlow Lite
注意
TensorFlow Lite 运行时组件 v2.5.6 及更高版本会重新安装现有 TensorFlow Lite 运行时及其依赖关系。重新安装有助于确保核心设备运行兼容版本的 TensorFlow Lite 及其依赖关系。
要使用不同的运行时,您可以使用此组件的配方作为模板来创建自定义机器学习组件。
版本
此组件具有以下版本:
-
2.5.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。
-
-
端点和端口
默认情况下,此组件使用安装程序脚本通过 apt
、yum
、brew
和 pip
命令来安装程序包,具体取决于核心设备使用的平台。此组件必须能够对各种程序包索引和存储库执行出站请求才能运行安装程序脚本。要允许此组件的出站流量通过代理或防火墙,您必须确定核心设备连接安装的程序包索引和存储库的端点。
在确定此组件的安装脚本所需的端点时,请考虑以下几点:
-
端点取决于核心设备的平台。例如,运行 Ubuntu 的核心设备使用
apt
,而不是yum
或brew
。此外,使用相同程序包索引的设备可能具有不同的源列表,因此它们可能会从不同的存储库中检索软件包。 -
使用相同程序包索引的多台设备之间的端点可能有所不同,因为每台设备都有自己的源列表,用于定义检索程序包的位置。
-
端点可能会随时间而变化。每个程序包索引都提供您下载程序包的存储库的 URL,程序包的所有者可以更改程序包索引提供的 URL。
有关此组件安装的依赖关系以及如何禁用安装程序脚本的更多信息,请参阅 UseInstaller 配置参数。
有关基本操作所需的端点和端口的更多信息,请参阅允许设备流量通过代理或防火墙。
依赖项
在您部署组件时,Amazon IoT Greengrass 也会部署其依赖关系的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求,才能成功部署组件。本部分列出了此组件的已发布版本的依赖关系,以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 Amazon IoT Greengrass 控制台
有关组件依赖关系的更多信息,请参阅组件配方参考。
配置
此组件提供您可以在部署组件时自定义的以下配置参数。
MLRootPath
-
(可选)Linux 核心设备上推理组件读取图像和写入推理结果的文件夹路径。可将此值修改为设备上运行此组件的用户具有读/写访问权限的任何位置。
默认:
/work/variant.TensorFlowLite/greengrass_ml/greengrass/v2
WindowsMLRootPath
-
此组件的 v1.6.6 及更高版本中提供了此功能。
(可选)Windows 核心设备上推理组件读取图像和写入推理结果的文件夹路径。可将此值修改为设备上运行此组件的用户具有读/写访问权限的任何位置。
默认:
C:\greengrass\v2
\\work\\variant.DLR\\greengrass_ml -
UseInstaller
-
(可选)字符串值,用于定义是否使用此组件中的安装程序脚本来安装 TensorFlow Lite 及其依赖关系。支持的值为
true
和false
。如果您想使用自定义脚本进行 TensorFlow Lite 安装,或者想要在预构建的 Linux 映像中包含运行时依赖关系,请将此值设置为
false
。要将此组件与 Amazon 提供的 TensorFlow Lite 推理组件一起使用,请安装以下库(包括所有依赖关系),并将其提供给运行 ML 组件的系统用户(例如ggc_user
)。-
Python
3.8 或更高版本,包括适用于您的 Python 版本的 pip
-
TensorFlow Lite
v2.5.0 -
Picamera
(适用于 Raspberry Pi 设备) -
awscam
模块(适用于 Amazon DeepLens 设备) -
libGL(适用于 Linux 设备)
默认:
true
-
使用量
使用此组件并将 UseInstaller
配置参数设置为 true
,以在设备上安装 TensorFlow Lite 及其依赖关系。该组件在您的设备上设置了一个虚拟环境,其中包含 TensorFlow Lite 所需的 OpenCV 和 NumPy 库。
注意
此组件中的安装程序脚本还会安装其他系统库的最新版本,这是在设备上配置虚拟环境和使用已安装的机器学习框架时所需要的。这可能会升级您设备上的现有系统库。查看下表,了解此组件为每个受支持的操作系统安装的库列表。如果要自定义此安装过程,请将 UseInstaller
配置参数设置为 false
,然后开发自己的安装程序脚本。
平台 | 安装在设备系统上的库 | 安装在虚拟环境中的库 |
---|---|---|
Armv7l | build-essential , cmake , ca-certificates ,
git |
setuptools , wheel |
Amazon Linux 2 | mesa-libGL |
无 |
Ubuntu | wget |
无 |
部署推理组件时,此运行时组件会首先验证您的设备是否已安装 TensorFlow Lite 及其依赖关系。如果没有,则运行时组件会为您安装。
本地日志文件
此组件使用以下日志文件。
查看此组件的日志
-
在核心设备上运行以下命令以实时查看此组件的日志文件。将
或/greengrass/v2
C:\greengrass\v2
替换为 Amazon IoT Greengrass 根文件夹的路径。
更改日志
下表介绍每个组件版本的更改。
版本 |
更改 |
---|---|
2.5.15 |
对 Greengrass Nucleus 版本 2.12.5 发行版进行了版本更新。 |
2.5.14 |
版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。 |
2.5.13 |
版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 |
2.5.12 |
版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。 |
2.5.11 |
对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 |
2.5.10 |
版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 |
2.5.9 |
版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。 |
2.5.8 |
版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。 |
2.5.7 |
|
2.5.6 |
|
2.5.5 |
|
2.5.4 |
|
2.5.3 |
版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。 |
2.5.2 |
版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。 |
2.5.1 |
对 Greengrass Nucleus 版本 2.2.0 发行版进行了版本更新。 |
2.5.0 |
初始版本。 |