您可以將以 AutoML 訓練的圖片分類模型傳送至自訂模型 API。您可以繼續在應用程式內整合模型,或是將模型以自訂模型的形式託管於 Firebase 控制台。AutoML 圖片標籤 API 已從 ML Kit 中移除,因為已完全替換為 Custom Model Image Labeling API。
API | 異動內容 |
---|---|
AutoML Vision Edge 圖片標籤 API | 並完全由「自訂模型圖片標籤 API」取代。已移除現有的 AutoML Vision Edge 圖片標籤 API。 |
如果您目前使用 AutoML Vision Edge API 的 ML Kit 使用者,請按照 Android 和 iOS 適用的遷移操作說明進行。
常見問題
為什麼要做出這項異動?
這有助於簡化 ML Kit API,也能更輕鬆地將 ML Kit 整合至應用程式。經過這項變更後,您就能使用和自訂模型完全相同的方式使用 AutoML 訓練模型。除了我們目前支援的圖片標籤之外,您也能將以 AutoML 訓練的模型用於物件偵測和追蹤。此外,自訂模型 API 支援兩種內嵌標籤對應關係的模型,以及具有獨立資訊清單和標籤檔案的模型。
改用新版 SDK 有什麼好處?
- 新功能:可運用以 AutoML 訓練的模型執行圖片標籤和物件偵測和追蹤,也能使用模型,在中繼資料內嵌入標籤對應。
Android 遷移指南
步驟 1:更新 Gradle 匯入項目
根據下表,更新模組 (應用程式層級) Gradle 檔案 (通常為 app/build.gradle
) 中 ML Kit Android 程式庫的依附元件:
功能 | 舊文物 | 新增構件 |
---|---|---|
不必下載遠端模型,即可為 AutoML 加上標籤 | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
使用遠端模型下載功能為 AutoML 加上標籤的圖片 |
com.google.mlkit:image-labeling-automl:16.2.1 com.google.mlkit:linkfirebase:16.0.1 |
com.google.mlkit:image-labeling-custom:16.0.0-beta5 com.google.mlkit:linkfirebase:17.0.0 |
步驟 2:更新類別名稱
如果您的類別出現在這個表格中,請進行指定的變更:
舊課程 | 新課程 |
---|---|
com.google.mlkit.vision.label.automl.AutoMLImageLabelerLocalModel | com.google.mlkit.common.model.LocalModel |
com.google.mlkit.vision.label.automl.AutoMLImageLabelerRemoteModel | com.google.mlkit.common.model.CustomRemoteModel |
com.google.mlkit.vision.label.automl.AutoMLImageLabelerOptions | com.google.mlkit.vision.label.custom.CustomImageLabelerOptions |
步驟 3:更新方法名稱
程式碼只需少量變更:
LocalModel
現在可以利用模型檔案路徑 (如果模型的中繼資料包含標籤對應) 或模型資訊清單檔案路徑 (如果資訊清單、模型和標籤位於不同的檔案) 進行初始化。- 你可以透過 Firebase 控制台從遠端託管自訂模型,並使用
FirebaseModelSource
初始化CustomRemoteModel
。
以下是一些新舊 Kotlin 方法的範例:
舊優惠
val localModel = AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute file path to manifest file) .build() val optionsWithLocalModel = AutoMLImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build() val remoteModel = AutoMLImageLabelerRemoteModel.Builder("automl_remote_model") .build() val optionsWithRemoteModel = AutoMLImageLabelerOptions.Builder(remoteModel) .build()
新功能
val localModel = LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute file path to manifest file) .build() val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build() val firebaseModelSource = FirebaseModelSource.Builder("automl_remote_model") .build() val remoteModel = CustomRemoteModel.Builder(firebaseModelSource).build() val optionsWithRemoteModel = CustomImageLabelerOptions.Builder(remoteModel) .build()
以下是部分新舊 Java 方法的範例:
舊優惠
AutoMLImageLabelerLocalModel localModel = new AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute file path to manifest file) .build(); AutoMLImageLabelerOptions optionsWithLocalModel = new AutoMLImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build(); AutoMLImageLabelerRemoteModel remoteModel = new AutoMLImageLabelerRemoteModel.Builder("automl_remote_model").build(); AutoMLImageLabelerOptions optionsWithRemoteModel = new AutoMLImageLabelerOptions.Builder(remoteModel) .build();
新功能
LocalModel localModel = new LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute file path to manifest file) .build() CustomImageLabelerOptions optionsWithLocalModel = new CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .build(); FirebaseModelSource firebaseModelSource = new FirebaseModelSource.Builder("automl_remote_model").build(); CustomRemoteModel remoteModel = new CustomRemoteModel.Builder(firebaseModelSource).build(); CustomImageLabelerOptions optionsWithRemoteModel = new CustomImageLabelerOptions.Builder(remoteModel).build();
iOS 遷移指南
必要條件
- 必須提供 Xcode 13.2.1 以上版本。
步驟 1:更新 Cocoapods
在應用程式的 Podfile 中,更新 ML Kit iOS Cocoapods 的依附元件:
功能 | 舊 Pod 名稱 | 新 Pod 名稱 |
---|---|---|
不必下載遠端模型,即可為 AutoML 加上標籤 | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
使用遠端模型下載功能為 AutoML 加上標籤的圖片 |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
步驟 2:更新類別名稱
如果您的類別出現在這個表格中,請進行指定的變更:
Swift
舊課程 | 新課程 |
---|---|
AutoMLImageLabelerLocalModel | LocalModel |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
舊課程 | 新課程 |
---|---|
MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
步驟 3:更新方法名稱
程式碼只需少量變更:
LocalModel
現在可以利用模型檔案路徑 (如果模型的中繼資料包含標籤對應) 或模型資訊清單檔案路徑 (如果資訊清單、模型和標籤位於不同的檔案) 進行初始化。- 你可以透過 Firebase 控制台從遠端託管自訂模型,並使用
FirebaseModelSource
初始化CustomRemoteModel
。
以下列舉幾種新舊 Swift 方法:
舊優惠
let localModel = AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json") let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel) let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model") let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)
新功能
guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return } let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel) let firebaseModelSource = FirebaseModelSource(name: "automl_remote_model") let remoteModel = CustomRemoteModel(remoteModelSource: firebaseModelSource) let optionsWithRemoteModel = CustomImageLabelerOptions(remoteModel: remoteModel)
以下是部分新舊 Objective-C 方法的範例:
舊優惠
MLKAutoMLImageLabelerLocalModel *localModel = [[MLKAutoMLImageLabelerLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKAutoMLImageLabelerOptions *optionsWithLocalModel = [[MLKAutoMLImageLabelerOptions alloc] initWithLocalModel:localModel]; MLKAutoMLImageLabelerRemoteModel *remoteModel = [[MLKAutoMLImageLabelerRemoteModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKAutoMLImageLabelerOptions *optionsWithRemoteModel = [[MLKAutoMLImageLabelerOptions alloc] initWithRemoteModel:remoteModel];
新功能
MLKLocalModel *localModel = [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKCustomImageLabelerOptions *optionsWithLocalModel = [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel]; MLKFirebaseModelSource *firebaseModelSource = [[MLKFirebaseModelSource alloc] initWithName:@"automl_remote_model"]; MLKCustomRemoteModel *remoteModel = [[MLKCustomRemoteModel alloc] initWithRemoteModelSource:firebaseModelSource]; MLKCustomImageLabelerOptions *optionsWithRemoteModel = [[MLKCustomImageLabelerOptions alloc] initWithRemoteModel:remoteModel];