Puoi passare un modello di classificazione delle immagini addestrato con AutoML alle API dei modelli personalizzati. Puoi continuare a raggruppare il modello all'interno della tua app o ospitarlo sulla console Firebase come modello personalizzato. L'API AutoML Image Labeling è stata rimossa da ML Kit poiché è stata completamente sostituita dall'API Custom Model Image Labeling.
API | Cosa cambierà? |
---|---|
API AutoML Vision Edge etichettatura immagini | È stato completamente sostituito dall'API Custom Model Image Labeling. L'API AutoML Vision Edge esistente per l'etichettatura delle immagini è stata rimossa. |
Se attualmente sei un utente di ML Kit e utilizzi l'API AutoML Vision Edge, segui le istruzioni per la migrazione per Android e iOS.
Domande frequenti
Perché questa modifica?
Contribuisce a semplificare le API ML Kit e a semplificare l'integrazione di ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato con AutoML esattamente come un modello personalizzato. Consente inoltre di utilizzare modelli addestrati con AutoML per il rilevamento e il monitoraggio di oggetti, oltre all'etichettatura delle immagini, che attualmente supportiamo. Inoltre, l'API Custom Model supporta sia i modelli con mappa di etichette incorporata nei metadati sia i modelli con file manifest ed etichette separati.
Quali vantaggi ottengo dalla migrazione al nuovo SDK?
- Nuove funzionalità: possibilità di utilizzare modelli addestrati con AutoML sia per l'etichettatura delle immagini che per il rilevamento e il monitoraggio di oggetti, nonché per la possibilità di utilizzare modelli con mappa di etichette incorporate nei metadati.
Guida alla migrazione per Android
Passaggio 1: aggiorna le importazioni Gradle
Aggiorna le dipendenze per le librerie Android ML Kit nel file Gradle del modulo (a livello di app) (di solito app/build.gradle
) in base alla tabella seguente:
Funzionalità | Vecchi artefatti | Nuovo artefatto |
---|---|---|
Etichettatura delle immagini AutoML senza download del modello remoto | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
Etichettatura delle immagini AutoML con download remoto del modello |
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 |
Passaggio 2: aggiorna i nomi dei corsi
Se il corso viene visualizzato in questa tabella, apporta la modifica indicata:
Classe precedente | Nuovo corso |
---|---|
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 |
Passaggio 3: aggiorna i nomi dei metodi
Sono state apportate modifiche minime al codice:
- Ora
LocalModel
può essere inizializzato con un percorso del file del modello (se il modello ha metadati contenenti la mappa delle etichette) o un percorso del file manifest del modello (se il modello, le etichette e le etichette sono in file separati). - Puoi ospitare un modello personalizzato in remoto tramite la console Firebase e inizializzare un
CustomRemoteModel
con unFirebaseModelSource
.
Ecco alcuni esempi di metodi Kotlin vecchi e nuovi:
Precedenti
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()
Novità
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()
Ecco alcuni esempi di metodi Java vecchi e nuovi:
Precedenti
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();
Novità
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();
Guida alla migrazione per iOS
Prerequisiti
- È richiesto Xcode 13.2.1 o successivo.
Passaggio 1: aggiorna Cocoapods
Aggiorna le dipendenze per i cocoapod per iOS del kit ML nel podfile della tua app:
Funzionalità | Vecchi nomi di pod | Nuovi nomi di pod |
---|---|---|
Etichettatura delle immagini AutoML senza download del modello remoto | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
Etichettatura delle immagini AutoML con download remoto del modello |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom GoogleMLKit/LinkFirebase |
Passaggio 2: aggiorna i nomi dei corsi
Se il corso viene visualizzato in questa tabella, apporta la modifica indicata:
Swift
Classe precedente | Nuovo corso |
---|---|
AutoMLImageLabelerLocalModel | LocalModel |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
Classe precedente | Nuovo corso |
---|---|
MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Objective-C
Passaggio 3: aggiorna i nomi dei metodi
Sono state apportate modifiche minime al codice:
- Ora
LocalModel
può essere inizializzato con un percorso del file del modello (se il modello ha metadati contenenti la mappa delle etichette) o un percorso del file manifest del modello (se il modello, le etichette e le etichette sono in file separati). - Puoi ospitare un modello personalizzato in remoto tramite la console Firebase e inizializzare un
CustomRemoteModel
con unFirebaseModelSource
.
Ecco alcuni esempi di metodi Swift vecchi e nuovi:
Precedenti
let localModel = AutoMLImageLabelerLocalModel(manifestPath: "automl/manifest.json") let optionsWithLocalModel = AutoMLImageLabelerOptions(localModel: localModel) let remoteModel = AutoMLImageLabelerRemoteModel(name: "automl_remote_model") let optionsWithRemoteModel = AutoMLImageLabelerOptions(remoteModel: remoteModel)
Novità
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)
Ecco alcuni esempi di metodi Objective-C vecchi e nuovi:
Precedenti
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];
Novità
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];