Android 上的 ML Kit 模型安裝路徑

根據預設,所有 ML Kit 功能都會使用 Google 訓練的機器學習模型 (稱為基礎模型)。本指南僅適用於基礎模型。如需自訂模型的相關指南,請參閱本文

您可以透過以下三種方式安裝 ML Kit API 中的模型:

  1. 未封裝:模型可透過 Google Play 服務下載及管理。
  2. 套裝組合:模型在建構期間會以靜態方式連結至您的應用程式。
  3. 動態下載:模型按需求下載。

各個 API 支援的安裝路徑

下表顯示每個 ML Kit 功能支援的模型安裝路徑:

未分類 套裝組合 動態下載
文字辨識 v2
臉部偵測
臉部網格偵測
姿勢偵測
自拍區隔
條碼掃描
為圖片加上標籤
物件偵測和追蹤
數位墨水辨識
文件掃描器
主體區隔
Google 程式碼掃描器
語言識別
翻譯
智慧回覆
實體擷取

API 專屬指南說明特定 API 可用的安裝選項。

安裝選項的主要差異

未組合 套裝組合 動態下載
模型會儲存在哪裡? 保留在 Google Play 服務中,且不會計入這個應用程式使用的儲存空間 安裝完成後,會儲存在應用程式專屬儲存空間 模型下載後,會儲存在應用程式專屬儲存空間
模型大小對應用程式大小有何影響? 不含應用程式大小 直接計入應用程式大小 不計入應用程式大小,但增加應用程式專屬儲存空間
模型何時會更新? 發布新版本時自動更新 需要更新應用程式才能更新模型 需要更新應用程式才能更新模型
模型何時會下載? 必須先下載模型才能使用 應用程式安裝後即納入所有模型和功能,因此可立即使用 您必須使用 RemoteModelManager API 手動管理模型下載、更新和刪除作業。
何時會從裝置中移除型號? 只有在所有依賴該模型的應用程式皆已解除安裝時,Google Play 服務才會將模型從儲存空間中移除 解除安裝應用程式時,模型會從應用程式專屬儲存空間中移除 解除安裝應用程式時,系統會將已下載的模型從應用程式專屬儲存空間中移除

如何選擇組合或未組合

如果 API 同時支援隨附和未封裝的安裝選項:

  • 如果您優先處理下列事務,請使用套裝組合選項:

    • 安裝應用程式後,立即完整提供功能
    • 安裝應用程式後,沒有網路連線的功能
  • 如果您優先處理下列事務,請使用未組合選項:

    • 縮減應用程式大小
    • 由 Google Play 服務自動更新模型

如何下載模型

使用未封裝的模型選項時,您可以指定模型下載到裝置的方式:

  • 您可以在應用程式的 AndroidManifest.xml 檔案中新增宣告,啟用安裝期間模型下載功能。舉例來說,以下程式碼片段說明如何設定應用程式在從 Play 商店安裝應用程式後,自動下載條碼掃描模型:

    <application ...>
          ...
          <meta-data
              android:name="com.google.mlkit.vision.DEPENDENCIES"
              android:value="barcode" >
          <!-- To use multiple models: android:value="barcode,model2,model3" -->
    </application>
    
  • 您可以透過 Google Play 服務 ModuleInstallClient API 要求明確下載

  • 如未啟用安裝期間模型下載功能或要求明確下載,系統會在首次執行功能時下載模型。下載完成前,推論要求會失敗。

如何更新模型

如何在使用隨附模型或動態下載的模型選項時更新模型:

  1. 請更新應用程式的 Gradle 檔案,以使用最新的 ML Kit 功能用戶端程式庫。

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API
    }
    
  2. 重新建構應用程式。

為何某些 API 提供動態下載模型

某些 ML Kit API 的模型選項過多,無法封裝。舉例來說,數位墨水辨識支援超過 300 種語言,而且在安裝期間不一定需要將所有語言都加入功能中。為此,我們提供第三個安裝選項,讓系統會在安裝完成後隨選下載模型。目前只有數位墨水辨識翻譯實體擷取有此選項。