Sie können ein von AutoML trainiertes Bildklassifizierungsmodell an die APIs des benutzerdefinierten Modells übergeben. Sie können das Modell weiterhin entweder in Ihrer App bündeln oder als benutzerdefiniertes Modell in der Firebase Console hosten. Die AutoML Image Labeling API wurde aus dem ML Kit entfernt, da sie vollständig durch die Custom Model Image Labeling API ersetzt wurde.
API | Was ändert sich? |
---|---|
AutoML Vision Edge API für Bildlabels | Sie wurde vollständig durch die Image Labeling API für benutzerdefinierte Modelle ersetzt. Die vorhandene AutoML Vision Edge API für das Image Labeling wird entfernt. |
Wenn Sie derzeit ein 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
Was ist der Grund für diese Änderung?
Sie vereinfacht ML Kit-APIs und die Integration von ML Kit in Ihre App. Mit dieser Änderung können Sie ein von AutoML trainiertes Modell genau auf die gleiche Weise wie ein benutzerdefiniertes Modell verwenden. Neben dem Labeling von Bildern, das wir derzeit unterstützen, können Sie damit auch von AutoML trainierte Modelle für die Objekterkennung und das Objekt-Tracking verwenden. Darüber hinaus unterstützt die API für benutzerdefinierte Modelle sowohl Modelle mit einer in die Metadaten eingebetteten Labelzuordnung als auch Modelle mit separaten Manifest- und Labeldateien.
Welche Vorteile habe ich durch die Migration zum neuen SDK?
- Neue Funktionen: Von AutoML trainierte Modelle können sowohl für Bildlabels als auch für Objekterkennung und -tracking verwendet werden. Außerdem können Modelle mit in die Metadaten eingebetteter Labelzuordnung verwendet werden.
Migrationsanleitung für Android
Schritt 1: Gradle Imports aktualisieren
Aktualisieren Sie die Abhängigkeiten für die ML Kit-Android-Bibliotheken in der Gradle-Datei Ihres Moduls (in der Regel app/build.gradle
) auf App-Ebene gemäß der folgenden Tabelle:
Feature | Alte Artefakte | Neues Artefakt |
---|---|---|
AutoML-Bild-Labeling ohne Remote-Herunterladen des Modells | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
AutoML-Bild-Labeling mit Remote-Modelldownload |
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: Kursnamen aktualisieren
Wenn Ihr Kurs in dieser Tabelle angezeigt wird, nehmen Sie die entsprechende Änderung vor:
Alte Klasse | Neuer Kurs |
---|---|
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 gibt nur minimale Änderungen am Code:
LocalModel
kann jetzt entweder mit einem Modelldateipfad (wenn das Modell Metadaten enthält, die die Labelzuordnung enthalten) oder mit einem Modellmanifestdateipfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.- Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein
CustomRemoteModel
mit einemFirebaseModelSource
initialisieren.
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
Voraussetzungen
- 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:
Feature | Alte Pod-Name(n) | Neuer Pod-Name(n) |
---|---|---|
AutoML-Bild-Labeling ohne Remote-Herunterladen des Modells | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
AutoML-Bild-Labeling mit Remote-Modelldownload |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Schritt 2: Kursnamen aktualisieren
Wenn Ihr Kurs in dieser Tabelle angezeigt wird, nehmen Sie die entsprechende Änderung vor:
Swift
Alte Klasse | Neuer Kurs |
---|---|
AutoMLImageLabelerLocalModel | LocalModel |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
Alte Klasse | Neuer Kurs |
---|---|
MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
Schritt 3: Methodennamen aktualisieren
Es gibt nur minimale Änderungen am Code:
LocalModel
kann jetzt entweder mit einem Modelldateipfad (wenn das Modell Metadaten enthält, die die Labelzuordnung enthalten) oder mit einem Modellmanifestdateipfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.- Sie können ein benutzerdefiniertes Modell remote über die Firebase Console hosten und ein
CustomRemoteModel
mit einemFirebaseModelSource
initialisieren.
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];