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 多種語言,但在安裝期間,不一定需要將所有語言都納入這項功能。為此,我們提供第三種安裝選項,在安裝完成後,系統會視需要下載模型。目前只有數位墨水辨識翻譯實體擷取有這個選項。