TensorFlow 精簡版運行 - AWS IoT Greengrass

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

TensorFlow 精簡版運行

TensorFlow Lite 執行階段元件 (variant.TensorFlowLite) 包含一個指令碼,可在裝置上的虛擬環境中安裝 TensorFlow Lite 版本 2.5.0 及其相依性。TensorFlow Lite 圖像分類TensorFlow Lite 對象檢測組件使用此運行時組件作為安裝 TensorFlow Lite 的依賴項。

注意

TensorFlow Lite 運行時組件 v2.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 庫(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
  • 樹莓派運行樹莓派 OS 靶心設備必須滿足以下要求:

    • NumPy 1.22.4 或更新版本已安裝在裝置上。樹莓派 OS 靶心包括早期版本的 NumPy,因此您可以運行以下命令在設備 NumPy 上升級。

      pip3 install --upgrade numpy
    • 裝置上啟用的舊式攝影機堆疊。樹莓派 OS Bullseye 包括一個新的相機堆疊,預設情況下啟用且不相容,因此您必須啟用傳統的相機堆疊。

      啟用舊式相機堆疊的步驟
      1. 運行以下命令以打開樹莓派配置工具。

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

      3. 選取「舊式相機」以啟用舊式相機堆疊。

      4. 重新啟動 Raspberry Pi。

端點和連接埠

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

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

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

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

  • 端點可能會隨時間變更。每個套裝程式索引都會提供您下載套裝程式的儲存區域 URL,套裝程式的擁有者可以變更套裝程式索引所提供的 URL。

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

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

相依性

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

2.5.14 and 2.5.15

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

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

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

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.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.5.10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相依性 兼容版本 相依性類型
Greengrass 核 > = 2.0.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 版所需的 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
若要檢視此元件的記錄
  • 在核心裝置上執行下列命令,即時檢視此元件的記錄檔。以 AWS IoT Greengrass 根資料夾的路徑取代/greengrass/v2C:\greengrass\v2

    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 核 2.12.5 版本。

2.5.14

版本更新了 Greengrass 2.12.0 版本。

2.5.13

版本更新 Greengrass 2.11.0 版本釋放。

2.5.12

版本更新了 Greengrass 2.10.0 版本。

2.5.11

版本更新 Greengrass 2.9.0 版本釋放。

2.5.10

版本更新 Greengrass 2.8.0 版本發布。

2.5.9

版本更新了 Greengrass 核 2.7.0 版本釋放。

2.5.8

版本更新 Greengrass 2.6.0 版本發布。

2.5.7

錯誤修復和改進
  • 更新安UseInstaller裝指令碼以安裝 libGL,此指令碼在某些 Linux 平台上預設不可用。

  • 更新UseInstaller安裝腳本以始終在此組件的虛擬環境中使用 Python 3.9。此變更有助於確保與其他程式庫的相容性。

2.5.6

錯誤修復和改進
  • 更新此元件以安裝 TensorFlow 精簡版 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 2.4.0 版本的版本。

2.5.2

版本更新了 Greengrass 核 2.3.0 版本。

2.5.1

版本更新了 Greengrass 核 2.2.0 版本。

2.5.0

初始版本。