Puoi passare un modello di classificazione delle immagini addestrato da AutoML alle API per i modelli personalizzati. Puoi continuare a raggruppare il modello all'interno dell'app o ospitarlo nella Console Firebase come modello personalizzato. L'API per l'etichettatura delle immagini AutoML è stata rimossa da ML Kit perché è stata completamente sostituita dall'API per l'etichettatura delle immagini dei modelli personalizzati.
| API | Che cosa cambierà? |
|---|---|
| API per l'etichettatura delle immagini di AutoML Vision Edge | È stata completamente sostituita dall'API per l'etichettatura delle immagini dei modelli personalizzati. L'API per l'etichettatura delle immagini di AutoML Vision Edge esistente è stata rimossa. |
Se utilizzi l'API AutoML Vision Edge, segui le istruzioni di migrazione per Android e iOS.
Domande frequenti
Perché questa modifica?
Contribuisce a semplificare le API ML Kit e a facilitare l'integrazione di ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato da AutoML esattamente come un modello personalizzato. Ti consente inoltre di utilizzare i modelli addestrati da AutoML per il rilevamento e il monitoraggio degli oggetti, oltre all'etichettatura delle immagini che supportiamo. Inoltre, l'API per i modelli personalizzati supporta sia i modelli con la mappa delle etichette incorporata nei metadati sia i modelli con file manifest ed etichette separati.
Quali vantaggi offre la migrazione al nuovo SDK?
- Nuove funzionalità: possibilità di utilizzare i modelli addestrati da AutoML sia per l'etichettatura delle immagini sia per il rilevamento e il monitoraggio degli oggetti e possibilità di utilizzare i modelli con la mappa delle etichette incorporata nei metadati.
Guida alla migrazione per Android
Passaggio 1: aggiorna le importazioni di Gradle
Aggiorna le dipendenze per le librerie Android ML Kit nel file Gradle (a livello di modulo, in genere app/build.gradle.kts) in base alla tabella seguente:
| Funzionalità | Artefatti precedenti | 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 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-beta5 Per ospitare e scaricare modelli personalizzati, sposta i modelli in Cloud Storage e aggiungi la logica di download nella tua app per caricarli utilizzando LocalModel. Per maggiori dettagli, consulta la [guida alla migrazione da Firebase ML a Cloud Storage][migrate-storage]. |
Passaggio 2: aggiorna i nomi delle classi
Se la tua classe è presente in questa tabella, apporta la modifica indicata:
| Classe precedente | Nuova classe |
|---|---|
| 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 La tua app deve includere la logica per scaricare i modelli ospitati da remoto e inizializzarli utilizzando LocalModel. |
| 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
LocalModelpuò essere inizializzato con un percorso del modello (se il modello contiene metadati con la mappa delle etichette) o con un percorso del manifest del modello (se il manifest, il modello e le etichette si trovano in file separati). - Aggiungi la logica alla tua app per scaricare i modelli ospitati da remoto nell'archivio locale e caricarli utilizzando
LocalModel.
Ecco alcuni esempi di metodi Kotlin precedenti e nuovi:
Precedente
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()
Nuovo
// 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()
Ecco alcuni esempi di metodi Java precedenti e nuovi:
Precedente
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();
Nuovo
// 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();
Guida alla migrazione per iOS
Prerequisiti
- È richiesto Xcode 13.2.1 o versioni successive.
Passaggio 1: aggiorna Cocoapods
Aggiorna le dipendenze per i cocoapod ML Kit iOS nel Podfile della tua app:
| Funzionalità | Nomi dei pod precedenti | Nomi dei nuovi pod |
|---|---|---|
| Etichettatura delle immagini AutoML senza download del modello remoto | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| Etichettatura delle immagini AutoML con download del modello remoto |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom Per ospitare e scaricare modelli personalizzati, sposta i modelli in Cloud Storage e aggiungi la logica di download nella tua app per caricarli come modelli locali. Per maggiori dettagli, consulta la [guida alla migrazione da Firebase ML a Cloud Storage][migrate-storage]. |
Passaggio 2: aggiorna i nomi delle classi
Se la tua classe è presente in questa tabella, apporta la modifica indicata:
Swift
| Classe precedente | Nuova classe |
|---|---|
| AutoMLImageLabelerLocalModel | LocalModel |
| AutoMLImageLabelerRemoteModel |
LocalModel Per ospitare e scaricare modelli personalizzati, sposta i modelli in Cloud Storage e aggiungi la logica di download nella tua app per caricarli come modelli locali. Per maggiori dettagli, consulta la [guida alla migrazione da Firebase ML a Cloud Storage][migrate-storage]. |
| AutoMLImageLabelerOptions | CustomImageLabelerOptions |
Objective-C
| Classe precedente | Nuova classe |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel |
MLKLocalModel Per ospitare e scaricare modelli personalizzati, sposta i modelli in Cloud Storage e aggiungi la logica di download nella tua app per caricarli come modelli locali. Per maggiori dettagli, consulta la [guida alla migrazione da Firebase ML a Cloud Storage][migrate-storage]. |
| MLKAutoMLImageLabelerOptions | MLKCustomImageLabelerOptions |
Passaggio 3: aggiorna i nomi dei metodi
Le modifiche al codice sono minime:
- Ora
LocalModelpuò essere inizializzato con un percorso del modello (se il modello contiene metadati con la mappa delle etichette) o con un percorso del manifest del modello (se il manifest, il modello e le etichette si trovano in file separati). - Aggiungi la logica alla tua app per scaricare i modelli ospitati da remoto nell'archivio locale e caricarli utilizzando
LocalModel.
Ecco alcuni esempi di metodi Swift precedenti e nuovi:
Precedente
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
// 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)
Ecco alcuni esempi di metodi Objective-C precedenti e nuovi:
Precedente
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
// 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];