根據預設,所有機器學習套件功能都會使用 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.0.3' // The latest version number of the API }
重建應用程式。
為什麼部分 API 提供動態下載模型
部分 ML Kit API 的套裝組合選項過多。例如,數位墨水辨識支援 300 多種語言,而且在安裝期間,不一定需要將所有語言都放入功能中。為此,我們提供第三種安裝選項,其中會在安裝完成後隨選下載模型。目前只有數位墨水辨識、翻譯和實體擷取提供這個選項。