本頁面提供指南,說明如何建立 TensorFlow 模型,以便轉換為 TensorFlow Lite 模型格式。您搭配 TensorFlow Lite 使用的機器學習 (ML) 模型最初是使用 TensorFlow 核心程式庫和工具建立及訓練的。使用 TensorFlow 核心建立模型後,您可以將其轉換為更小、更有效率的 ML 模型格式,稱為 TensorFlow Lite 模型。
建立模型
如果您要為特定用途建立自訂模型,應先開發及訓練 TensorFlow 模型,或擴充現有模型。
模型設計限制
在開始模型開發流程之前,您應先瞭解 TensorFlow Lite 模型的限制,並在建立模型時將這些限制納入考量
- 運算能力有限 - 相較於配備多個 CPU、高記憶體容量和 GPU 及 TPU 等專用處理器的完整伺服器,行動裝置和邊緣裝置的功能受限許多。雖然這類裝置的運算能力和專用硬體相容性正在成長,但您可以透過這些裝置有效處理的模型和資料仍然相對有限。
- 模型大小 - 模型的整體複雜度 (包括資料前處理邏輯和模型中的層數) 會增加模型的記憶體內大小。大型模型的執行速度可能會慢到難以接受,或可能根本無法放入行動裝置或邊緣裝置的可用記憶體中。
- 資料大小 - 在行動裝置或邊緣裝置上,機器學習模型可有效處理的輸入資料大小有限。使用大型資料庫 (例如語言資料庫、圖片資料庫或影片片段資料庫) 的模型可能不適合在這些裝置上使用,而且可能需要裝置外儲存空間和存取解決方案。
- 支援的 TensorFlow 運算 - 相較於一般 TensorFlow 模型,TensorFlow Lite 執行階段環境支援的機器學習模型運算子子集。在開發用於 TensorFlow Lite 的模型時,您應追蹤模型與 TensorFlow Lite 執行階段環境功能的相容性。
如需更多資訊,瞭解如何為 TensorFlow Lite 建立有效率、相容且高效能的模型,請參閱「效能最佳做法」。
模型開發
若要建立 TensorFlow Lite 模型,您必須先使用 TensorFlow 核心程式庫建立模型。TensorFlow 核心程式庫是較低層級的程式庫,提供 API 來建立、訓練和部署 ML 模型。
TensorFlow 提供兩種方法來執行此操作。您可以開發自己的自訂模型程式碼,或從 TensorFlow Model Garden 中提供的模型實作開始。
Model Garden
TensorFlow Model Garden 提供多種最先進的機器學習 (ML) 模型實作,適用於視覺和自然語言處理 (NLP)。您也會找到工作流程工具,讓您能夠快速設定這些模型,並在標準資料集上執行。Model Garden 中的機器學習模型包含完整程式碼,因此您可以使用自己的資料集來測試、訓練或重新訓練這些模型。
無論您是想評估著名模型的效能、驗證最新發布的研究結果,還是擴充現有模型,Model Garden 都能協助您達成 ML 目標。
自訂模型
如果您的用途超出 Model Garden 中模型支援的範圍,您可以使用 Keras 等高階程式庫來開發自訂訓練程式碼。若要瞭解 TensorFlow 的基本概念,請參閱「TensorFlow 指南」。若要開始使用範例,請參閱「TensorFlow 教學課程總覽」,其中包含初學者到專家級教學課程的指標。
模型評估
開發模型後,您應評估其效能,並在終端使用者裝置上進行測試。TensorFlow 提供幾種方法來執行此操作。
- TensorBoard 是一種工具,可在機器學習工作流程期間提供所需的測量結果和視覺化內容。它可追蹤實驗指標 (例如損失和準確度)、視覺化模型圖表、將嵌入項目投射到較低維度的空間等等。
- 每個支援的平台 (例如 Android 基準化效能應用程式和 iOS 基準化效能應用程式) 皆提供基準化效能工具。使用這些工具來測量及計算重要效能指標的統計資料。
模型最佳化
考量到 TensorFlow Lite 模型的特定資源限制,模型最佳化有助於確保您的模型效能良好,並減少運算資源的使用量。機器學習模型效能通常是在推論大小和速度與準確度之間取得平衡。TensorFlow Lite 目前支援透過量化、修剪和叢集分析進行最佳化。如需這些技術的詳細資訊,請參閱「模型最佳化」主題。TensorFlow 也提供 模型最佳化工具包,其中提供實作這些技術的 API。