Google I/O is a wrap! Catch up on TensorFlow sessions View sessions

TensorFlow Lite

TensorFlow Lite 提供多項工具,協助開發人員透過行動裝置、嵌入式裝置和 IoT 裝置執行模型,在裝置端即可完成機器學習。

主要功能與特色

  • 適合用來在裝置端執行機器學習,因為能突破 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 Lite 模型:使用 TensorFlow Lite Model Maker,以自訂的資料集建立模型。所有模型預設都包含中繼資料。

  • 將 TensorFlow 模型轉換成 TensorFlow Lite 模型:使用 TensorFlow Lite Converter,將 TensorFlow 模型轉換成 TensorFlow Lite 模型。您可以在轉換時套用最佳化設定,例如運用量化,在不犧牲準確率的前提下縮減模型大小並減少延遲情況。所有模型預設不包含中繼資料。

2. 執行推論

「推論」意指在裝置端執行 TensorFlow Lite 模型,根據輸入的資料進行預測。您可按照模型類型,透過下列方式執行推論:

您可在 Android 和 iOS 裝置上使用硬體加速功能提升效能。在這兩種平台上均可使用 GPU 委任;在 Android 上可使用 NNAPI 委任 (較新版裝置) 或 Hexagon 委任 (較舊版裝置);在 iOS 上可使用 Core ML 委任。如要額外支援新硬體加速器,您可以定義自己的委任

開始使用

請依照您的目標裝置參閱下列指南:

技術限制

  • 部分 TensorFlow 模型無法轉換成 TensorFlow Lite 模型;請參閱運算子相容性

  • 不支援裝置端的訓練,但我們已納入藍圖中。