Puoi trasmettere un modello di classificazione delle immagini addestrato con AutoML alle API del modello personalizzato. Puoi continuare a raggruppare il modello all'interno dell'app o 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 | Che cosa cambierà? |
|---|---|
| API per l'etichettatura delle immagini AutoML Vision Edge | È stata completamente sostituita dall'API per l'etichettatura delle immagini del modello personalizzato. L'API di etichettatura delle immagini 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?
Consente di semplificare le API ML Kit e di integrare più facilmente ML Kit nella tua app. Con questa modifica, puoi utilizzare un modello addestrato con AutoML esattamente come un modello personalizzato. Ti consente inoltre di utilizzare modelli addestrati con AutoML per il rilevamento e il monitoraggio degli oggetti, oltre all'etichettatura delle immagini che supportiamo. Inoltre, l'API per modelli personalizzati supporta sia i modelli con mappa delle etichette incorporata nei metadati sia i modelli con manifest e file di etichette separati.
Quali vantaggi ottengo dalla migrazione al nuovo SDK?
- Nuove funzionalità: possibilità di utilizzare modelli addestrati con AutoML per l'etichettatura delle immagini e il rilevamento e il monitoraggio degli oggetti e di utilizzare modelli con la mappa delle etichette incorporata 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.kts) in base alla tabella seguente:
| Funzionalità | Artefatti precedenti | Nuovo artefatto |
|---|---|---|
| Etichettatura di immagini AutoML senza download di modelli remoti | com.google.mlkit:image-labeling-automl:16.2.1 | com.google.mlkit:image-labeling-custom:16.0.0-beta5 |
| AutoML per l'etichettatura delle immagini con download di modelli remoti |
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 su 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 il tuo corso è 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 in 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
Sono presenti modifiche minime al codice:
LocalModelora può essere inizializzato con un percorso del modello (se il modello contiene metadati con la mappa delle etichette) o un percorso del manifest del modello (se il manifest, il modello e le etichette si trovano in file separati).- Aggiungi logica alla tua app per scaricare i modelli ospitati in remoto nello spazio di archiviazione locale e caricarli utilizzando
LocalModel.
Ecco alcuni esempi di metodi Kotlin vecchi 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
- È richiesta la versione Xcode 13.2.1 o 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 | Nuovo nome o nomi dei pod |
|---|---|---|
| Etichettatura di immagini AutoML senza download di modelli remoti | GoogleMLKit/ImageLabelingAutoML | GoogleMLKit/ImageLabelingCustom |
| AutoML per l'etichettatura delle immagini con download di modelli remoti |
GoogleMLKit/ImageLabelingAutoML GoogleMLKit/LinkFirebase |
GoogleMLKit/ImageLabelingCustom Per ospitare e scaricare modelli personalizzati, sposta i modelli su 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 il tuo corso è 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 su 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, sposta i modelli su 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
Sono presenti modifiche minime al codice:
LocalModelora può essere inizializzato con un percorso del modello (se il modello contiene metadati con la mappa delle etichette) o un percorso del manifest del modello (se il manifest, il modello e le etichette si trovano in file separati).- Aggiungi logica alla tua app per scaricare i modelli ospitati in remoto nello spazio di archiviazione locale e caricarli utilizzando
LocalModel.
Ecco alcuni esempi di metodi Swift vecchi 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 vecchi 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];