所有 ML Kit 功能預設都會使用 Google 訓練的機器學習模型 (稱為基礎模型)。本指南僅適用於基本型號。如需自訂模型的相關指引,請參閱這篇文章。
您可以透過下列三種方式安裝 ML Kit API 中的模型:
- 未綁定:模型會透過 Google Play 服務下載及管理。
- 已組合:模型會在建構時靜態連結至應用程式。
- 動態下載:系統會視需要下載模型。
各個 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 要求明確下載。
如果未啟用安裝時模型下載功能或要求明確下載,模型會在您首次執行該功能時下載。下載完成前,推論要求會失敗。
如何更新模型
使用隨附模型或動態下載模型選項時,如要更新模型,請按照下列步驟操作:
更新應用程式的 Gradle 檔案,使用最新的 ML Kit 功能用戶端程式庫。
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }重建應用程式。
為什麼部分 API 提供動態下載模型
部分 ML Kit API 的模型選項過多,無法進行組合。舉例來說,手寫筆跡辨識支援 300 多種語言,安裝時不一定需要將所有語言都放入功能中。為此,我們提供第三種安裝選項,安裝後可視需要下載模型。目前只有手寫筆跡辨識、翻譯和實體擷取提供這項功能。