TensorFlow Lite

TensorFlow Lite 是一套工具,可幫助開發人員在行動裝置、嵌入式裝置和邊緣裝置上執行模型,實現裝置端機器學習技術。

主要功能與特色

  • 針對裝置端機器學習進行最佳化,方法是解決以下 5 項主要限制:延遲 (伺服器無需往返存取)、隱私權 (不會帶裝置離開裝置)、連線 (不需要網路連線)、大小 (縮減模型和二進位檔大小) 以及耗電量 (有效率的推論且缺乏網路連線)。
  • 支援多種平台,包括 AndroidiOS 裝置、嵌入式 Linux微控制器
  • 支援多種語言,包括 Java、Swift、Objective-C、C++ 和 Python。
  • 高效能:可硬體加速和模型最佳化。

開發工作流程

下列指南將逐步說明工作流程的每個步驟,並提供詳細操作說明的連結:

1. 產生 TensorFlow Lite 模型

TensorFlow Lite 模型以 FlatBuffers 這種特殊的高效率可攜式格式表示 (可透過 .tflite 副檔名識別)。相較於 TensorFlow 的通訊協定緩衝區模型格式,這提供了幾項優點,例如大小縮減 (少量程式碼足跡) 和推論速度更快 (資料無需額外剖析/解壓縮步驟即可直接存取),因此 TensorFlow Lite 能在運算和記憶體資源有限的裝置上,有效率地執行。

TensorFlow Lite 模型可以選擇加入含有人類可讀模型說明的中繼資料,以及機器可讀取的資料,以便在裝置端推論期間自動產生預先及後續處理管道。詳情請參閱「新增中繼資料」。

您可以透過下列方式產生 TensorFlow Lite 模型:

  • 使用現有的 TensorFlow Lite 模型:請參閱 TensorFlow Lite 範例來挑選現有模型。模型不一定包含中繼資料。

  • 將 TensorFlow 模型轉換為 TensorFlow Lite 模型:使用 TensorFlow Lite Converter,將 TensorFlow 模型轉換成 TensorFlow Lite 模型。轉換期間,您可以套用最佳化 (例如量化),在不犧牲準確率的前提下,縮減模型大小和延遲時間。根據預設,所有模型都不包含中繼資料。

2. 執行推論

「推論」是指在裝置端執行 TensorFlow Lite 模型,根據輸入資料進行預測的程序。您可以根據模型類型,以下列方式執行推論:

在 Android 和 iOS 裝置上,您可以使用硬體加速功能提升效能。您可以在任一平台上使用 GPU 代表,在 iOS 上則可使用 Core ML 委派。如要新增硬體加速器的支援,您可以定義自己的委派項目

開始使用

請根據目標裝置參閱下列指南:

技術限制

  • 所有 TensorFlow 模型 無法 轉換為 TensorFlow Lite 模型,請參閱「運算子相容性」一文。