Android Lite 版

LiteRT 可讓您在自己的機器中執行 TensorFlow 機器學習 (ML) 模型 Android 應用程式。LiteRT 系統提供預先建構且可自訂的元素 在 Android 上快速有效率地執行模型的執行環境 包括硬體加速選項

機器學習模型

LiteRT 使用的 TensorFlow 模型會轉換為 更高效的可攜式機器學習模型格式。您可以使用預先建構的 或自行建構 TensorFlow 模型 並轉換為 LiteRT 格式

本頁面說明如何使用現成的機器學習模型,但不適用於 包括建構、訓練、測試或轉換模型進一步瞭解 並選用、修改、建構及轉換機器學習模型 「Models」(模型) 頁面中的 LiteRT。

在 Android 上執行模型

在 Android 應用程式中執行的 LiteRT 模型會接收資料和程序 以及依據模型的邏輯產生預測結果。TensorFlow Lite 模型需要特殊的執行階段環境才能執行,且 傳遞到模型的資料必須使用特定的資料格式,稱為 tensor。模型處理 資料就稱為執行推論,會產生新的預測結果 並將這些張量傳遞至 Android 應用程式,讓其能執行特定動作,例如 向使用者顯示結果或執行其他商業邏輯。

Android 中 LiteRT 模型的函式執行流程
應用程式

圖 1. Android 中 LiteRT 模型的函式執行流程 應用程式。

在功能性設計層級,Android 應用程式需要下列元素才能 如何執行 LiteRT 模型:

  • 用來執行模型的 LiteRT 執行階段環境
  • 模型輸入處理常式,可將資料轉換為張量
  • 模型輸出處理常式,用於接收並解讀輸出結果張量 做為預測結果

以下各節說明 LiteRT 程式庫和工具的使用方式 提供這些功能元素

透過 LiteRT 建構應用程式

本節說明最常見、最常見的實作路徑 Android 應用程式中的 LiteRT。使用 執行階段環境開發環境章節。如果 您已開發自訂模型,請務必詳閱進階開發 路徑部分的值

執行階段環境選項

您可以透過多種方式啟用執行階段環境以執行模型 。我們建議的選項如下:

  • Google Play 服務執行階段中的 LiteRT 環境 (建議)
  • 獨立的 LiteRT 執行階段環境

一般來說,您應該使用 Google Play 提供的執行階段環境 因為這會比標準環境更節省空間 以動態方式載入,縮減應用程式大小Google Play 服務 會自動使用最新且穩定的 LiteRT 執行階段,讓您享有額外功能並提升效能。如果 您在未搭載 Google Play 服務的裝置上提供應用程式 必須密切管理機器學習執行階段環境,則應使用 標準 LiteRT 執行階段的容器這個選項會在 可讓您進一步掌控應用程式中的機器學習執行階段。 增加應用程式下載大小的費用

如要在 Android 應用程式中存取這些執行階段環境,請先新增 TensorFlow Lite 的開發程式庫新增至應用程式開發環境。資訊 如要瞭解如何在應用程式中使用標準執行階段環境,請參閱 專區。

程式庫

您可以透過 Google Play 服務。您可以使用 LiteRT core支援程式庫。適用對象 有關使用 LiteRT 程式庫和執行階段的程式設計詳細資料 環境,請參閱「Android 開發工具」。

取得模型

在 Android 應用程式中執行模型必須使用 LiteRT 格式模型。個人中心 可以使用預先建構的模型,或是透過 TensorFlow 建構模型,再轉換為 Lite 格式。如要進一步瞭解如何取得 Android 應用程式的模型,請參閱 LiteRT「Models」(模型) 頁面。

處理輸入資料

您傳入機器學習模型的任何資料都必須是內含特定資料的張量 結構,通常稱為張量的「形狀」。如要使用模型處理資料 應用程式程式碼必須從自身原生格式轉換資料,例如圖像、文字 轉換為符合模型所需形狀的張量

執行推論

透過模型處理資料以產生預測結果,稱為 執行推論如要在 Android 應用程式中執行推論,就必須具備 LiteRT 執行階段環境模型輸入內容 資料

模型在特定裝置上產生推論的速度 取決於處理的資料量、模型的複雜程度 以及可用的運算資源,例如記憶體和 CPU 稱為加速器。在這些容器中,機器學習模型的執行速度 特殊處理器,例如圖形處理器 (GPU) 和張量 處理單元 (TPU),透過名為 委派代表。如要進一步瞭解 請參閱硬體加速 總覽頁面

處理輸出結果

模型會以張量形式產生預測結果,而且必須由您的 Android 應用程式,透過執行動作或向使用者顯示結果。模型輸出內容 結果可以簡單的數字,就像算是單一結果的對應數字 (0 = 狗、 1 = cat, 2 = 鳥) 適用於圖片分類或更複雜的結果, 例如圖片中數個分類物件的定界框,而 以 0 到 1 之間的預測可信度評分

進階開發路徑

使用更精密且自訂的 LiteRT 模型時, 必須採用比上述更進階的開發方式。 以下各節說明執行模型的進階技巧。 來開發 Android 應用程式中的 LiteRT

進階執行階段環境

除了標準執行階段和 Google Play 服務執行階段以外 LiteRT 環境中有額外的執行階段環境 可與 Android 應用程式搭配使用最有可能用於這些環境的是 您的機器學習模型使用系統不支援的機器學習作業 所執行 App Engine 應用程式

LiteRT Flex 執行階段可讓您 建立模型所需的特定運算子執行 Vertex AI Pipelines 的進階選項 您可以建構 Android 適用的 LiteRT 執行 TensorFlow 機器學習模型所需的其他功能 詳情請參閱「建構 Android 適用的 LiteRT」。

C 和 C++ API

LiteRT 也提供 API,以便使用 C 和 C++ 執行模型。如果您的 應用程式使用 Android NDK, 不妨考慮使用這個 API如果您有以下需求,也可以考慮使用這個 API 希望在多個平台之間共用程式碼。如要進一步瞭解 如要瞭解這個開發選項,請參閱 工具」網頁。

伺服器式模型執行

一般來說,您應該在 Android 裝置上執行應用程式的模型 不僅能縮短延遲時間,還能改善使用者的資料隱私權。不過 在某些情況下,在雲端伺服器 (實體裝置) 上執行模型會比較好 解決方案舉例來說,如果大型模型無法輕鬆壓縮 配合使用者Android 裝置或可透過 確保這些裝置的運作效能合理這個方法也可能是 如果模型在 裝置是首要考量。

Google Cloud 提供全套服務來執行 TensorFlow 機器 多種機器學習模型詳情請參閱 Google Cloud 的 AI 和機器技術 學習產品一文

自訂模型開發與最佳化

更先進的開發路徑可能包括開發自訂機器 以及最佳化這些模型,以便在 Android 裝置上使用如果發生以下情況: 規劃自訂模型時,請務必考慮套用量化 能訓練模型 例如記憶體和處理費用如要進一步瞭解如何 可與 LiteRT 搭配使用的高效能模型,請參閱「效能最佳」一節 請參閱「模型」一節中的做法。