TensorFlow.js 的預先建立模型

預先建立模型是已針對特定用途完成訓練的模型。TensorFlow.js 提供各種已完成訓練的開放原始碼模型,您可以立即使用這些模型來完成許多機器學習工作。本主題將說明如何尋找及選取適合您用途的預先建立模型。

使用預先建立模型的優點

TensorFlow.js 提供各種廣泛的預先建立模型,這些模型可在任何專案中直接使用,並為您帶來以下顯著優勢

  • 節省時間和資源:避免耗時的資料收集、準備和標記流程,以及模型訓練、評估和改善作業。能夠快速建立您的想法原型。
  • 善用現有研究和文件:在開發預先建立模型時使用的最新研究可讓您快速部署模型,同時瞭解模型在不同真實世界情境中的效能。
  • 啟用遷移學習:預先建立模型可讓您將模型針對某項工作學習到的資訊用於另一個類似的用途。這種遷移學習流程可讓您根據自訂資料快速訓練現有模型。

尋找模型

為您的用途尋找現有的 TensorFlow.js 模型取決於您想完成的工作。例如,您的應用程式需要在用戶端或伺服器端執行嗎?隱私權、速度和準確性等因素有多重要?等等。

以下是探索搭配 TensorFlow.js 使用之模型的幾個建議方式

透過範例:尋找並開始使用 TensorFlow.js 模型的最佳方式是瀏覽 TensorFlow.js 示範區段,尋找執行與您的用途類似工作的示範。此目錄提供有趣的範例用途,並提供程式碼連結,可協助您開始使用。

依資料輸入類型:除了查看與您的用途類似的範例之外,探索適合您自己使用的模型的另一種方式是考量您要處理的資料類型,例如音訊、文字或圖片。機器學習模型通常設計為搭配其中一種資料類型使用,因此尋找可處理您想使用的資料類型的模型,有助於您縮小要考量的模型範圍。您可以開始瀏覽 TensorFlow.js 模型區段中以一般用途為基礎的 TensorFlow.js 模型,或瀏覽 TensorFlow Hub 上更大量的模型集。在 TensorFlow Hub 上,您可以使用「問題網域」篩選器來檢視模型資料類型並縮小您的清單。

以下清單連結至 TensorFlow Hub 上適用於常見用途的 TensorFlow.js 模型

在類似模型之間做選擇

如果您的應用程式遵循常見的用途 (例如圖片分類或物件偵測),您可能會找到多個符合您需求的 TensorFlow.js 模型。一旦您有一些適用於您用途的模型,您就會想要找出可提供最佳解決方案的模型。若要執行此操作,請考量每個模型的以下層面

  1. 推論速度
  2. 檔案大小
  3. 執行階段 RAM 使用量
  4. 模型功能/效能

在多個模型之間做決定時,您可以先根據您最受限的限制條件 (例如模型大小、資料大小、推論速度或準確性等) 來縮小您的選項範圍。

如果您不確定您最受限的限制條件是什麼,請假設它是模型大小,並選取可用的最小模型。選取小型模型可讓您在成功部署和執行模型的位置方面獲得最大的彈性。小型模型通常也會產生更快的推論,而更快的預測通常會創造更好的使用者體驗。不過,小型模型通常準確度較低,因此如果預測準確度是您主要考量的因素,您可能需要選取較大型的模型。

模型來源

TensorFlow.js 中的預先建立模型通常以兩種形式提供。官方模型包裝在 JavaScript 類別中,方便您在應用程式中部署。其他模型則採用原始形式,可能需要額外的程式碼來預先/後處理輸入和輸出資料。

TensorFlow.js 模型做為您尋找及選取搭配 TensorFlow.js 使用之模型的第一個目的地。這些是由 TensorFlow.js 團隊提供的官方模型,這些模型已具有 JavaScript 包裝函式,可讓您輕鬆整合到程式碼中。TensorFlow Hub 網站提供其他模型。請注意,Hub 中的模型可能採用原始格式,需要您進行額外的工作才能整合。

TensorFlow 模型

可以轉換一般 TensorFlow 模型為 TensorFlow.js 格式。如需模型轉換的詳細資訊,請參閱「模型轉換」主題。您可以在 TensorFlow HubTensorFlow Model Garden 中找到 TensorFlow 模型。

延伸閱讀

  • 既然您知道在哪裡可以找到可供使用的模型,請參閱 React Native 教學課程,瞭解如何在網頁應用程式中使用這類模型。