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 nella 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 | Che cosa cambierà? |
|---|---|
| API di etichettatura delle immagini AutoML Vision Edge | È completamente sostituita dall'API di etichettatura delle immagini del modello personalizzato. L'API AutoML Vision Edge esistente per l'etichettatura delle immagini è stata rimossa. |
Se utilizzi l'API AutoML Vision Edge, segui le istruzioni di migrazione per Android e iOS.
Domande frequenti
Perché questa modifica?
In questo modo, le API ML Kit vengono semplificate e l'integrazione di ML Kit nella tua app diventa più facile. Con questa modifica, puoi utilizzare un modello addestrato con AutoML esattamente nello stesso modo di un modello personalizzato. Inoltre, ti consente di utilizzare i modelli addestrati con AutoML per il rilevamento di oggetti e il monitoraggio, oltre all'etichettatura delle immagini che supportiamo. Inoltre, l'API del modello personalizzato supporta sia i modelli con 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 modelli addestrati con AutoML sia per l'etichettatura delle immagini sia per il rilevamento e il tracciamento degli oggetti, nonché possibilità di utilizzare modelli con mappa delle etichette incorporata nei relativi metadati.
Guida alla migrazione per Android
Passaggio 1: aggiorna le importazioni di Gradle
Aggiorna le dipendenze per le librerie Android di ML Kit nel file Gradle del modulo (a livello di app, di solito app/build.gradle.kts) in base alla seguente tabella:
| 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, spostali 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 dei corsi
Se la tua classe è presente 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.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:
LocalModelora può 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 nello spazio di archiviazione 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 vecchi 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 iOS di ML Kit nel Podfile della tua app:
| Funzionalità | Nomi dei pod precedenti | Nuovi nomi dei 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, spostali 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 dei corsi
Se la tua classe è presente in questa tabella, apporta la modifica indicata:
Swift
| Classe precedente | Nuovo corso |
|---|---|
| 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 | Nuovo corso |
|---|---|
| MLKAutoMLImageLabelerLocalModel | MLKLocalModel |
| MLKAutoMLImageLabelerRemoteModel |
MLKLocalModel Per ospitare e scaricare modelli personalizzati, spostali 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:
LocalModelora può 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 nello spazio di archiviazione 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];