Sie können ein mit AutoML trainiertes Bildklassifizierungsmodell an die APIs für benutzerdefinierte Modelle übergeben. Sie können das Modell weiterhin entweder in Ihre App einbinden oder in der Firebase Console als benutzerdefiniertes Modell hosten. Die AutoML Image Labeling API wurde aus ML Kit entfernt, da sie vollständig durch die Custom Model Image Labeling API ersetzt wurde.
| API | Was ändert sich? |
|---|---|
| AutoML Vision Edge Image Labeling API | Sie wurde vollständig durch die Custom Model Image Labeling API ersetzt. Die vorhandene AutoML Vision Edge Image Labeling API wurde entfernt. |
Wenn Sie derzeit ML Kit-Nutzer sind und die AutoML Vision Edge API verwenden, folgen Sie bitte der Migrationsanleitung für Android und iOS.
Häufig gestellte Fragen
Warum diese Änderung?
Diese Änderung trägt dazu bei, die ML Kit APIs zu vereinfachen und die Integration von ML Kit in Ihre App zu erleichtern. Mit dieser Änderung können Sie ein mit AutoML trainiertes Modell genauso verwenden wie ein benutzerdefiniertes Modell. Außerdem können Sie mit AutoML trainierte Modelle jetzt nicht nur für Image Labeling, sondern auch für Objekterkennung und ‑tracking verwenden. Darüber hinaus unterstützt die API für benutzerdefinierte Modelle sowohl Modelle mit einer in den Metadaten eingebetteten Labelzuordnung als auch Modelle mit separaten Manifest- und Labeldateien.
Welche Vorteile bietet die Migration zum neuen SDK?
- Neue Funktionen: Sie können mit AutoML trainierte Modelle sowohl für Image Labeling als auch für Objekterkennung und ‑tracking verwenden. Außerdem können Sie Modelle mit einer in den Metadaten eingebetteten Labelzuordnung verwenden.
Migrationsanleitung für Android
Schritt 1: Gradle-Importe aktualisieren
Aktualisieren Sie die Abhängigkeiten für die ML Kit Android-Bibliotheken in der Gradle-Datei Ihres Moduls (auf App-Ebene, in der Regel app/build.gradle) gemäß der folgenden Tabelle:
| Funktion | Alte Artefakte | Neues Artefakt |
|---|---|---|
| AutoML Image Labeling ohne Download des Remote-Modells | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
| AutoML Image Labeling mit Download des Remote-Modells |
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 |
Schritt 2: Klassennamen aktualisieren
Wenn Ihre Klasse in dieser Tabelle aufgeführt ist, nehmen Sie die angegebene Änderung vor:
| Alte Klasse | Neue Klasse |
|---|---|
| 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 |
Schritt 3: Methodennamen aktualisieren
Es sind nur minimale Codeänderungen erforderlich:
LocalModelkann jetzt entweder mit einem Dateipfad für das Modell (wenn das Modell Metadaten mit der Labelzuordnung enthält) oder mit einem Dateipfad für das Modellmanifest initialisiert werden (wenn sich Manifest, Modell und Labels in separaten Dateien befinden).- Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein
CustomRemoteModelmit einerFirebaseModelSourceinitialisieren.
Hier sind einige Beispiele für alte und neue Kotlin-Methoden:
Alt
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()
Neu
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()
Hier sind einige Beispiele für alte und neue Java-Methoden:
Alt
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();
Neu
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();
Migrationsanleitung für iOS
Vorbereitung
- Xcode 13.2.1 oder höher ist erforderlich.
Schritt 1: Cocoapods aktualisieren
Aktualisieren Sie die Abhängigkeiten für die ML Kit iOS-Cocoapods in der Podfile-Datei Ihrer App:
| Funktion | Alte Pod-Namen | Neue Pod-Namen |
|---|---|---|
| AutoML Image Labeling ohne Download des Remote-Modells | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| AutoML Image Labeling mit Download des Remote-Modells |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Schritt 2: Klassennamen aktualisieren
Wenn Ihre Klasse in dieser Tabelle aufgeführt ist, nehmen Sie die angegebene Änderung vor:
Swift
| Alte Klasse | Neue Klasse |
|---|---|
| AutoMLImageLabelerLocalModel | LocalModel |
| AutoMLImageLabelerRemoteModel | CustomRemoteModel |
| AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
| Alte Klasse | Neue Klasse |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
Schritt 3: Methodennamen aktualisieren
Es sind nur minimale Codeänderungen erforderlich:
LocalModelkann jetzt entweder mit einem Dateipfad für das Modell (wenn das Modell Metadaten mit der Labelzuordnung enthält) oder mit einem Dateipfad für das Modellmanifest initialisiert werden (wenn sich Manifest, Modell und Labels in separaten Dateien befinden).- Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein
CustomRemoteModelmit einerFirebaseModelSourceinitialisieren.
Hier sind einige Beispiele für alte und neue Swift-Methoden:
Alt
let localModel =
AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json")
let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel)
let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model")
let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)Neu
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)Hier sind einige Beispiele für alte und neue Objective-C-Methoden:
Alt
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];
Neu
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];