TensorFlow Lite 轉換工具

TensorFlow Lite 轉換工具會使用 TensorFlow 模型產生 TensorFlow Lite FlatBuffer 檔案 (.tflite)。這個轉換工具支援 SavedModel 目錄tf.keras 模型具體函式

TF 2.2 的新功能

根據預設,系統會在夜間版本和 TF 2.2 穩定版本中,切換為在後端使用新的轉換工具。切換的原因如下:

  • 可轉換新的模型類別,包括 Mask R-CNN、Mobile BERT 等等
  • 多了對於函式控制流程的支援 (在 TensorFlow 2.x 中預設為啟用)
  • 追蹤原始的 TensorFlow 節點名稱和 Python 程式碼,並在轉換發生錯誤時公開這些資訊
  • 運用 Google 的機器學習編譯器尖端技術 MLIR,可以更容易地依照功能要求進行擴充
  • 加入模型基本支援,以及包含未知維度的輸入張量
  • 支援所有現有的轉換工具功能

如果你遇到任何問題:

  • 請建立 GitHub 問題,並加上「TFLiteConverter」元件標籤。請一併提供以下資訊:
    • 用於執行轉換工具或程式碼的指令 (如果你使用的是 Python API)
    • 叫用轉換工具後的輸出內容
    • 輸入至轉換工具的模型
    • 如果轉換成功,但產生的模型有誤,請說明有錯誤的部分:
      • 產生的結果有誤和/或準確率降低
      • 產生的結果正確,但模型的速度低於預期 (相較於舊版轉換工具產生的模型)
  • 如果你使用的是 allow_custom_ops 功能,請參閱 Python API命令列工具說明文件
  • tfite_convert 指令列工具設定 --experimental_new_converter=false,或是從 Python API 設定 converter.experimental_new_converter=False,藉此切換至舊版轉換工具

裝置部署

系統接著會將 TensorFlow Lite FlatBuffer 檔案部署至用戶端裝置 (例如行動裝置、嵌入式裝置),並使用 TensorFlow Lite 解譯器在本機環境中執行。這個轉換程序如下圖所示:

TFLite 轉換工具的工作流程

轉換模型

建議你透過 Python API 使用 TensorFlow Lite 轉換工具。Python API 可簡化模型開發管線中的模型轉換,並協助你盡早減輕相容性問題。你也可以使用支援基本模型的命令列工具