Sie können ein von AutoML trainiertes Bildklassifizierungsmodell an die APIs für benutzerdefinierte Modelle ü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 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 wird vollständig durch die API für die Bildbeschriftung mit benutzerdefinierten Modellen ersetzt. Die vorhandene AutoML Vision Edge API für die Bild-Labelerstellung wird entfernt. |
Wenn Sie die AutoML Vision Edge API verwenden, folgen Sie der Migrationsanleitung für Android und iOS.
Häufig gestellte Fragen
Weshalb nehmen wir diese Änderung vor?
Dadurch werden die ML Kit APIs vereinfacht und ML Kit lässt sich leichter in Ihre App einbinden. Mit dieser Änderung können Sie ein mit AutoML trainiertes Modell genauso wie ein benutzerdefiniertes Modell verwenden. Außerdem können Sie mit AutoML trainierte Modelle für die Objekterkennung und das Objekt-Tracking sowie für die von uns unterstützte Bild-Labelerstellung verwenden. Außerdem unterstützt die Custom Model API sowohl Modelle mit in den Metadaten eingebetteter Labelzuordnung als auch Modelle mit separaten Manifest- und Labeldateien.
Welche Vorteile bietet die Migration zum neuen SDK?
- Neue Funktionen: Möglichkeit, mit AutoML trainierte Modelle sowohl für die Bild-Labelerstellung als auch für die Objekterkennung und das Objekt-Tracking zu verwenden, sowie Möglichkeit, Modelle mit in die Metadaten eingebetteter Labelzuordnung zu 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.kts) gemäß der folgenden Tabelle:
| Funktion | Alte Artefakte | Neues Artefakt |
|---|---|---|
| AutoML-Bildlabel ohne Remote-Modelldownload | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
| AutoML-Bildlabel mit Remote-Modell-Download |
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 Wenn Sie benutzerdefinierte Modelle hosten und herunterladen möchten, verschieben Sie Ihre Modelle in Cloud Storage und fügen Sie Ihrer App Downloadlogik hinzu, um sie mit LocalModel zu laden. Weitere Informationen finden Sie in der [Migrationsanleitung von Firebase ML zu Cloud Storage][migrate-storage]. |
Schritt 2: Kursnamen aktualisieren
Wenn Ihre Klasse in dieser Tabelle aufgeführt ist, nehmen Sie die angegebene Ä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.LocalModel Ihre App muss Logik zum Herunterladen von remote gehosteten Modellen und zum Initialisieren dieser Modelle mit LocalModel enthalten. |
| 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 Modellpfad (wenn das Modell Metadaten mit der Labelzuordnung enthält) oder einem Modellmanifestpfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.- Fügen Sie Ihrer App Logik hinzu, um remote gehostete Modelle in den lokalen Speicher herunterzuladen und mit
LocalModelzu laden.
Hier sind einige Beispiele für alte und neue Kotlin-Methoden:
Alt
val localModel = AutoMLImageLabelerLocalModel.Builder() .setAssetFilePath("automl/manifest.json") // or .setAbsoluteFilePath(absolute 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
// Similar process for both local and remotely-hosted models (that have been downloaded) val localModel = LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build() val optionsWithLocalModel = CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .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 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
// Similar process for local models and remotely-hosted models (that have been downloaded) LocalModel localModel = new LocalModel.Builder() .setAssetManifestFilePath("automl/manifest.json") // or .setAbsoluteManifestFilePath(absolute path to manifest file) .build(); CustomImageLabelerOptions optionsWithLocalModel = new CustomImageLabelerOptions.Builder(localModel) .setConfidenceThreshold(0.5f) .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(r) Pod-Name(n) | Neue(r) Pod-Name(n) |
|---|---|---|
| AutoML-Bildlabel ohne Remote-Modelldownload | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| AutoML-Bildlabel mit Remote-Modell-Download |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom Wenn Sie benutzerdefinierte Modelle hosten und herunterladen möchten, verschieben Sie sie in Cloud Storage und fügen Sie Ihrer App Downloadlogik hinzu, um sie als lokale Modelle zu laden. Weitere Informationen finden Sie in der [Migrationsanleitung von Firebase ML zu Cloud Storage][migrate-storage]. |
Schritt 2: Kursnamen aktualisieren
Wenn Ihre Klasse in dieser Tabelle aufgeführt ist, nehmen Sie die angegebene Änderung vor:
Swift
| Alte Klasse | Neuer Kurs |
|---|---|
| AutoMLImageLabelerLocalModel | LocalModel |
| AutoMLImageLabelerRemoteModel |
LocalModel Wenn Sie benutzerdefinierte Modelle hosten und herunterladen möchten, verschieben Sie Ihre Modelle in Cloud Storage und fügen Sie Ihrer App Downloadlogik hinzu, um sie als lokale Modelle zu laden. Weitere Informationen finden Sie in der [Migrationsanleitung von Firebase ML zu Cloud Storage][migrate-storage]. |
| AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
| Alte Klasse | Neuer Kurs |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel |
MLKLocalModel Wenn Sie benutzerdefinierte Modelle hosten und herunterladen möchten, verschieben Sie Ihre Modelle in Cloud Storage und fügen Sie Ihrer App Downloadlogik hinzu, um sie als lokale Modelle zu laden. Weitere Informationen finden Sie in der [Migrationsanleitung von Firebase ML zu Cloud Storage][migrate-storage]. |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Schritt 3: Methodennamen aktualisieren
Es sind nur minimale Codeänderungen erforderlich:
LocalModelkann jetzt entweder mit einem Modellpfad (wenn das Modell Metadaten mit der Labelzuordnung enthält) oder einem Modellmanifestpfad (wenn sich Manifest, Modell und Labels in separaten Dateien befinden) initialisiert werden.- Fügen Sie Ihrer App Logik hinzu, um remote gehostete Modelle in den lokalen Speicher herunterzuladen und mit
LocalModelzu laden.
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
// Similar process for local models and remotely-hosted models (that have been downloaded) guard let localModel = LocalModel(manifestPath: "automl/manifest.json") else { return } let optionsWithLocalModel = CustomImageLabelerOptions(localModel: localModel)
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
// Similar process for local models and remotely-hosted models (that have been downloaded) MLKLocalModel *localModel = [[MLKLocalModel alloc] initWithManifestPath:"automl/manifest.json"]; MLKCustomImageLabelerOptions *optionsWithLocalModel = [[MLKCustomImageLabelerOptions alloc] initWithLocalModel:localModel];