根據預設,所有 ML Kit 功能都會使用 Google 訓練的機器學習模型 (又稱為基本模型)。本指南僅適用於基礎模型。請參閱自訂模型指南。
您可以透過以下三種方式安裝 ML Kit API 中的模型:
- 未組合套件:已透過 Google Play 服務下載及管理模型。
- 套件:在建構期間,模型會以靜態方式連結至您的應用程式。
- 動態下載:隨選下載模型。
各 API 支援的安裝路徑
下表列出每個 ML Kit 功能支援的模型安裝路徑:
未組合 | 套裝組合 | 動態下載 | |
文字辨識第 2 版 | ✅ | ✅ | |
臉部偵測 | ✅ | ✅ | |
臉部偵測網格 | ✅ | ||
血氧偵測 | ✅ | ||
自拍片段 | ✅ | ||
條碼掃描 | ✅ | ✅ | |
圖片標籤 | ✅ | ✅ | |
偵測及追蹤物件 | ✅ | ||
數位墨水辨識 | ✅ | ||
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.1.0' // The latest version number of the API }
重新建構應用程式。
為何部分 API 提供動態下載的模型
部分 ML Kit API 的模型選項過多。舉例來說,數位接收器辨識支援 300 多種語言,且不一定可以在安裝期間將每種語言置於該功能中。針對這個用途,我們提供了第三個安裝選項,在安裝後隨選下載模型。目前只有數位接收器辨識、翻譯和實體擷取具有這個選項。