Puoi passare un modello di classificazione di immagini con addestramento AutoML alle API del modello personalizzato. Puoi continuare a raggruppare il modello all'interno della tua app oppure ospitarlo nella Console Firebase come modello personalizzato. L'API AutoML image labeling è stata rimossa da ML Kit perché è stata completamente sostituita dall'API Custom Model Image Labeling.
API | Cosa cambierà? |
---|---|
API AutoML Vision Edge Labeling | È stata completamente sostituita dall'API Custom Model Labeling. L'API esistente di etichettatura delle immagini AutoML Vision Edge è stata rimossa. |
Se attualmente utilizzi l'API ML Kit e utilizzi l'API AutoML Vision Edge, segui le istruzioni per la migrazione per Android e iOS.
Domande frequenti
Perché questa modifica?
Consente di semplificare le API ML Kit e di integrare più facilmente il ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato AutoML esattamente come un modello personalizzato. Ti consente inoltre di utilizzare modelli con addestramento AutoML per il rilevamento e il monitoraggio degli oggetti, oltre all'etichettatura delle immagini attualmente supportata. Inoltre, l'API Custom Model supporta sia i modelli con mappa di etichetta incorporata nei metadati sia i modelli con file manifest ed di etichetta separati.
Quali vantaggi ottengo dalla migrazione al nuovo SDK?
- Nuove funzionalità: possibilità di utilizzare modelli addestrati con AutoML per l'etichettatura delle immagini, il rilevamento e il monitoraggio degli oggetti e la possibilità di utilizzare i modelli con la mappa di etichette incorporata nei metadati.
Guida alla migrazione per Android
Passaggio 1: aggiorna le importazioni Gradle
Aggiorna le dipendenze per le librerie Android di ML Kit nel file Gradle (a livello di app) del modulo (di solito app/build.gradle
) in base alla seguente tabella:
Funzionalità | Vecchi artefatti | Nuovo artefatto |
---|---|---|
Etichettatura delle immagini AutoML senza download del modello remoto | com.google.mlkit:image-labeling-automl:16.2 | com.google.mlkit:image-labeling-custom:16.0.0-beta4 |
Etichettatura delle immagini AutoML con download del modello remoto |
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-beta4 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:
Corso 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
Le modifiche al codice sono minime:
- Ora puoi inizializzare
LocalModel
con un percorso file del modello (se il modello ha metadati contenenti la mappa di etichette) o un percorso file del file modello (se il manifest, il modello e le etichette si trovano 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()
Nuovo
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 precedenti 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();
Nuovo
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 versioni successive.
Passaggio 1: aggiorna i Cocoapods
Aggiorna le dipendenze per i cocoapods iOS di ML Kit nel podfile dell'app:
Funzionalità | Nomi dei pod precedenti | Nuovi nomi dei pod |
---|---|---|
Etichettatura delle immagini AutoML senza download del modello remoto | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustoms |
Etichettatura delle immagini AutoML con download del modello remoto |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustoms GoogleMLKit/LinkFirebase |
Passaggio 2: aggiorna i nomi dei corsi
Se il corso viene visualizzato in questa tabella, apporta la modifica indicata:
Swift
Corso precedente | Nuovo corso |
---|---|
AutoMLImageLabelerLocalModel | Modello locale |
AutoMLImageLabelerRemoteModel | CustomRemoteModel |
AutoMLImageLabelerOptions | Opzioni etichetta immagine personalizzata |
Objective-C
Corso precedente | Nuovo corso |
---|---|
MLKAutoMLImageLabelerLocalModel | Modello locale MLK |
MLKAutoMLImageLabelerRemoteModel | MLKCustomRemoteModel |
Opzioni MLKAutoMLImageLabeler | Opzioni MLKCustomImageLabeler |
Objective-C
Passaggio 3: aggiorna i nomi dei metodi
Le modifiche al codice sono minime:
- Ora puoi inizializzare
LocalModel
con un percorso file del modello (se il modello ha metadati contenenti la mappa di etichette) o un percorso file del file modello (se il manifest, il modello e le etichette si trovano 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 precedenti e nuovi di Swift:
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)
Nuovo
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)
Di seguito sono riportati alcuni esempi di metodi vecchi e nuovi dell'obiettivo C.
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];
Nuovo
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];