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.3.0' // The latest version number of the API
    }
    
  2. 重新建構應用程式。

為什麼部分 API 提供動態下載的模型

部分 ML Kit API 有太多模型選項可供組合。舉例來說,數位筆跡辨識支援 300 多種語言,但安裝時不一定需要將每種語言都放入功能中。因此,我們提供第三種安裝選項,可在安裝後視需要下載模型。目前只有數位筆跡辨識、翻譯和實體擷取有這個選項。