TensorFlow Lite 執行時間 - AWS IoT Greengrass

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

TensorFlow Lite 執行時間

TensorFlow Lite 執行期元件 (variant.TensorFlowLite) 包含指令碼,可在您裝置上的虛擬環境中安裝 TensorFlow Lite 2.5.0 版及其相依性。TensorFlow Lite 影像分類TensorFlow Lite 物件偵測元件使用此執行期元件做為安裝 TensorFlow Lite 的相依性。

注意

TensorFlow Lite 執行期元件 2.5.6 版及更新版本會重新安裝 TensorFlow Lite 執行期的現有安裝及其相依性。此重新安裝有助於確保核心裝置執行相容版本的 TensorFlow Lite 及其相依性。

若要使用不同的執行時間,您可以使用此元件的配方做為範本,來建立自訂機器學習元件

版本

此元件具有下列版本:

  • 2.5.x

Type

元件是一般元件 (aws.greengrass.generic)。Greengrass 核會執行元件的生命週期指令碼。

如需詳細資訊,請參閱元件類型

作業系統

此元件可以安裝在執行下列作業系統的核心裝置上:

  • Linux

  • Windows

要求

此元件有下列需求:

  • 在執行 Amazon Linux 2 或 Ubuntu 18.04 的 Greengrass 核心裝置上,GNU C Library (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 包含預設啟用且不相容的新攝影機堆疊,因此您必須啟用舊版攝影機堆疊。

      啟用舊版攝影機堆疊
      1. 執行下列命令以開啟 Raspberry Pi 組態工具。

        sudo raspi-config
      2. 選取介面選項

      3. 選取舊版攝影機以啟用舊版攝影機堆疊。

      4. 重新啟動 Raspberry Pi。

端點和連接埠

根據預設,此元件會使用安裝程式指令碼,根據核心裝置使用的平台,使用 aptbrewyumpip命令來安裝套件。此元件必須能夠對各種套件索引和儲存庫執行傳出請求,才能執行安裝程式指令碼。若要允許此元件透過代理或防火牆的傳出流量,您必須識別 套件索引的端點,以及核心裝置連線安裝的儲存庫。

當您識別此元件安裝指令碼所需的端點時,請考慮下列事項:

  • 端點取決於核心裝置的平台。例如,執行 Ubuntu 的核心裝置會使用 apt而非 yumbrew。此外,使用相同套件索引的裝置可能會有不同的來源清單,因此它們可能會從不同的儲存庫擷取套件。

  • 使用相同套件索引的多個裝置之間的端點可能不同,因為每個裝置都有自己的來源清單,可定義擷取套件的位置。

  • 端點可能會隨著時間而變更。每個套件索引都會提供下載套件的儲存庫 URLs,而套件的擁有者可以變更套件索引提供的 URLs。

如需此元件安裝的相依性以及如何停用安裝程式指令碼的詳細資訊,請參閱 UseInstaller 組態參數。

如需基本操作所需的端點和連接埠的詳細資訊,請參閱允許透過代理或防火牆的裝置流量

相依性

當您部署元件時, AWS IoT Greengrass 也會部署其相依性的相容版本。這表示您必須符合元件及其所有相依性的要求,才能成功部署元件。本節列出此元件發行版本的相依性,以及為每個相依性定義元件版本的語意版本限制。您也可以在AWS IoT Greengrass 主控台中檢視每個版本元件的相依性。在元件詳細資訊頁面上,尋找相依性清單。

2.5.14 and 2.5.15

下表列出此元件 2.5.14 和 2.5.15 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.13.0 軟式
2.5.13

下表列出此元件 2.5.13 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.12.0 軟式
2.5.12

下表列出此元件 2.5.12 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.11.0 軟式
2.5.11

下表列出此元件 2.5.11 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.10.0 軟式
2.5.10

下表列出此元件 2.5.10 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.9.0 軟式
2.5.9

下表列出此元件 2.5.9 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.8.0 軟式
2.5.8

下表列出此元件 2.5.8 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.7.0 軟式
2.5.5 - 2.5.7

下表列出此元件 2.5.5 到 2.5.7 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.6.0 軟式
2.5.3 and 2.5.4

下表列出此元件 2.5.3 和 2.5.4 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.5.0 軟式
2.5.2

下表列出此元件 2.5.2 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.4.0 軟式
2.5.1

下表列出此元件 2.5.1 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.3.0 軟式
2.5.0

下表列出此元件 2.5.0 版的相依性。

相依性 相容版本 相依性類型
Greengrass 核 >=2.0.0 <2.2.0 軟式

如需元件相依性的詳細資訊,請參閱元件配方參考

組態

此元件提供下列組態參數,您可以在部署元件時自訂這些參數。

MLRootPath

(選用) Linux 核心裝置上的資料夾路徑,其中推論元件會讀取映像和寫入推論結果。您可以將此值修改為裝置上執行此元件的使用者具有讀取/寫入存取權的任何位置。

預設:/greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

WindowsMLRootPath

此功能可在 v1.6.6 和更新版本中取得。

(選用) Windows 核心裝置上的資料夾路徑,其中推論元件會讀取映像和寫入推論結果。您可以將此值修改為裝置上執行此元件的使用者具有讀取/寫入存取權的任何位置。

預設:C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(選用) 字串值,定義是否使用此元件中的安裝程式指令碼來安裝 TensorFlow Lite 及其相依性。支援的值為 truefalse

false 如果您想要針對 TensorFlow Lite 安裝使用自訂指令碼,或想要在預先建置的 Linux 映像中包含執行時間相依性,請將此值設定為 。若要將此元件與 AWS提供的 TensorFlow Lite 推論元件搭配使用,請安裝下列程式庫,包括任何相依性,並將其提供給ggc_user執行 ML 元件的系統使用者,例如 。

預設: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 及其相依性。如果沒有,則執行期元件會為您安裝它們。

本機日誌檔案

此元件使用以下日誌檔案。

Linux
/greengrass/v2/logs/variant.TensorFlowLite.log
Windows
C:\greengrass\v2\logs\variant.TensorFlowLite.log
檢視此元件的日誌
  • 在核心裝置上執行下列命令,以即時檢視此元件的日誌檔案。將 /greengrass/v2C:\greengrass\v2 取代為 AWS IoT Greengrass 根資料夾的路徑。

    Linux
    sudo tail -f /greengrass/v2/logs/variant.TensorFlowLite.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\variant.TensorFlowLite.log -Tail 10 -Wait

變更記錄

下表說明每個版本的元件的變更。

版本

變更

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

錯誤修正和改善
  • 更新UseInstaller安裝指令碼以安裝 libGL,該 libGL 預設為無法在某些 Linux 平台上使用。

  • 更新UseInstaller安裝指令碼,以一律在此元件的虛擬環境中使用 Python 3.9。此變更有助於確保與其他程式庫的相容性。

2.5.6

錯誤修正和改善
  • 更新此元件以安裝 TensorFlow Lite 2.5.0 (tflite-runtime-2.5.0.post1) 的最新修補程式,因此您可以使用此元件搭配 Python 3.9。如果此元件無法安裝該修補程式,則會tflite-runtime-2.5.0改為安裝。

  • 更新此元件以重新安裝 TensorFlow Lite 及其相依性的現有安裝。此變更有助於確保核心裝置執行相容版本的 TensorFlow Lite 及其相依性。

2.5.5

新功能
  • 新增對執行 Windows 之核心裝置的支援。

  • 新增可用於在 Windows 核心裝置上設定推論結果資料夾的新WindowsMLRootPath組態參數。

2.5.4

新功能
  • 新增新的UseInstaller組態參數,可讓您停用此元件中的安裝指令碼。

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

初始版本。