Per addestrare un modello di etichettatura delle immagini, fornisci ad AutoML Vision Edge un set immagini ed etichette corrispondenti. AutoML Vision Edge utilizza questo set di dati per addestrare nuovo modello nel cloud, che puoi utilizzare per l'etichettatura delle immagini dell'app. (consulta la Panoramica per informazioni generali su questa funzionalità.)
AutoML Vision Edge è un servizio servizio cloud. L'utilizzo del servizio è soggetto al contratto di licenza della piattaforma Google Cloud e ai Termini specifici di servizio, e viene fatturato di conseguenza. Per informazioni sulla fatturazione, consulta la pagina Prezzi di AutoML.
Prima di iniziare
Se non hai ancora un progetto Firebase o Google Cloud, creane uno in la console Firebase.
Acquisisci familiarità con le linee guida presentate nella Guida al machine learning inclusivo: AutoML.
Se vuoi provare AutoML Vision Edge e non hai un tuo addestramento scarica un set di dati di esempio, come uno dei seguenti:
- Set di dati di esempio di immagini floreali ufficiale di TensorFlow
- Questo set di dati alfabetico per la lingua dei segni americana (ASL)
Puoi trovare altri set di dati ospitati su Kaggle.
1. Assembla i dati di addestramento
Per prima cosa, devi creare un set di dati di addestramento di immagini etichettate. Tieni presenti le seguenti linee guida:
Le immagini devono essere in uno dei seguenti formati: JPEG, PNG, GIF, BMP, ICO.
Ogni immagine deve avere dimensioni massime di 30 MB. Tieni presente che AutoML Vision Edge esegue il downscale la maggior parte delle immagini durante la pre-elaborazione, quindi generalmente non c'è alcun vantaggio in termini di accuratezza fornendo immagini ad altissima risoluzione.
Includere almeno 10 e preferibilmente 100 o più esempi di ciascuna etichetta.
Includi più angolazioni, risoluzioni e sfondi per ogni etichetta.
I dati di addestramento devono essere il più simili possibile ai dati su cui è necessario fare previsioni. Ad esempio, se il tuo caso d'uso prevede immagini sfocate immagini a bassa risoluzione (ad esempio quelle di una videocamera di sicurezza), i dati di addestramento deve essere composto da immagini sfocate e a bassa risoluzione.
I modelli generati da AutoML Vision Edge sono ottimizzati per le fotografie di oggetti nel mondo reale. Potrebbero non funzionare bene per raggi X, disegni a mano, documenti scansionati, ricevute e così via.
Inoltre, in genere i modelli non sono in grado di prevedere etichette che gli esseri umani non possono assegnare. Quindi, Se una persona non riesce ad assegnare le etichette guardando l'immagine per 1-2 secondi, probabilmente non può essere addestrato nemmeno per farlo.
Quando le immagini di addestramento sono pronte, preparale per l'importazione in Firebase. Hai a disposizione tre opzioni:
Opzione 1: archivio ZIP strutturato
Organizza le immagini di addestramento in directory, ognuna denominata in base a un'etichetta e contenente immagini che sono esempi di quell'etichetta. Quindi comprimi la directory in un archivio ZIP.
I nomi di directory in questo archivio ZIP possono contenere fino a 32 caratteri ASCII
e può contenere solo caratteri alfanumerici e il trattino basso (_
).
Ad esempio:
my_training_data.zip |____accordion | |____001.jpg | |____002.jpg | |____003.jpg |____bass_guitar | |____hofner.gif | |____p-bass.png |____clavier |____well-tempered.jpg |____well-tempered (1).jpg |____well-tempered (2).jpg
Opzione 2: Cloud Storage con indice CSV
Carica le immagini di addestramento su Google Cloud Storage e prepara un file CSV che elenca l'URL di ogni immagine e, facoltativamente, il campo le etichette corrette per ogni immagine. Questa opzione è utile quando si utilizzano set di dati molto grandi.
Ad esempio, carica le immagini su Cloud Storage e prepara un file CSV come le seguenti:
gs://your-training-data-bucket/001.jpg,accordion gs://your-training-data-bucket/002.jpg,accordion gs://your-training-data-bucket/003.jpg,accordion gs://your-training-data-bucket/hofner.gif,bass_guitar gs://your-training-data-bucket/p-bass.png,bass_guitar gs://your-training-data-bucket/well-tempered.jpg,clavier gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier
Le immagini devono essere archiviate in un bucket che fa parte del progetto Firebase progetto Google Cloud corrispondente.
Consulta Preparazione dei dati di addestramento in Cloud AutoML documentazione di Vision per saperne di più sulla preparazione del file CSV.
Opzione 3: immagini senza etichetta
Etichetta le immagini di addestramento nella console Firebase dopo averle caricate, individualmente o in un file ZIP non strutturato. Vedi il prossimo passaggio.
2. Addestra il modello
Quindi, addestra un modello utilizzando le tue immagini:
Apri Set di dati di Vision nella console Google Cloud. Seleziona il tuo progetto quando richiesto.
Fai clic su Nuovo set di dati, fornisci un nome al set di dati, seleziona il tipo di modello da addestrare e fai clic su Crea set di dati.
Nella scheda Importa del set di dati, carica un archivio ZIP del tuo immagini di addestramento o un file CSV contenente le Cloud Storage sedi in cui li hai caricati. Vedi Raccogliere i dati di addestramento.
Al termine dell'attività di importazione, utilizza la scheda Immagini per verificare i dati di addestramento ed etichettare le immagini non etichettate.
Nella scheda Addestramento, fai clic su Inizia addestramento.
Assegna un nome al modello e seleziona il tipo di modello Edge.
Configura le seguenti impostazioni di addestramento, che regolano le prestazioni del modello generato:
Ottimizza il modello per... La configurazione del modello da utilizzare. Puoi addestrare modelli più veloci e più piccoli se la latenza ridotta o le dimensioni ridotte del pacchetto sono importanti oppure modelli più lenti e più grandi se la precisione è più importante. Budget per ora nodo Il tempo massimo, in ore di calcolo, da dedicare all'addestramento del modello. Un tempo di addestramento maggiore di solito si traduce in una maggiore precisione un modello di machine learning.
Tieni presente che l'addestramento può essere completato in meno rispetto tempo se il sistema determina che il modello è ottimizzato un ulteriore addestramento non migliorerebbe l'accuratezza. La fatturazione ti viene addebitata solo per le ore effettivamente utilizzate.
Tempi di addestramento tipici Set molto piccoli 1 ora 500 immagini 2 ore 1000 immagini 3 ore 5000 immagini 6 ore 10.000 immagini 7 ore 50.000 immagini 11 ore 100.000 immagini 13 ore 1.000.000 di immagini 18 ore
3. valuta il modello
Al termine dell'addestramento, puoi fare clic sulla scheda Valuta per vedere le metriche delle prestazioni del modello.
Un uso importante di questa pagina è determinare la soglia di confidenza che funziona la scelta migliore per il tuo modello. La soglia di confidenza è la confidenza minima che il modello necessario per assegnare un'etichetta a un'immagine. Spostando la soglia di confidenza puoi vedere come le diverse soglie influenzano le prestazioni del modello. Le prestazioni del modello vengono misurate utilizzando due metriche: precisione e richiamo.
Nel contesto della classificazione delle immagini, la precisione è il rapporto tra il numero di immagini etichettate correttamente e il numero di immagini etichettate dal modello in base alla soglia selezionata. Quando un modello ha una precisione elevata, assegna le etichette possono essere errate con minore frequenza (meno falsi positivi).
Per richiamo si intende il rapporto tra il numero di immagini etichettate correttamente e il numero di immagini con contenuti che il modello avrebbe dovuto essere in grado di etichettare. Quando un modello ha un richiamo elevato, non assegna alcuna etichetta meno spesso (meno falsi negativi).
L'ottimizzazione per la precisione o il richiamo dipenderà dal caso d'uso. Consulta il corso AutoML Vision principiantis guida di Google e Guida al machine learning inclusivo - AutoML per saperne di più.
Quando trovi una soglia di confidenza che genera metriche che ti soddisfano, annotala. La utilizzerai per configurare il modello nella tua app. Puoi utilizzare questo strumento in qualsiasi momento per ottenere un valore di soglia appropriato.
4. Pubblica o scarica il modello
Se ritieni che le prestazioni del modello vadano bene e vuoi utilizzarlo in un'app, hai tre opzioni tra cui scegliere: esegui il deployment del modello per la previsione online, pubblicalo su Firebase o scaricalo e raggruppalo con la tua app.
Esegui il deployment del modello
Nella scheda Testa e utilizza del set di dati, puoi eseguire il deployment del modello per la previsione online, che esegue il modello nel cloud. Questa opzione è trattata nel Documentazione su Cloud AutoML. La documenti su questo sito con le due opzioni rimanenti.
Pubblica il modello
Se pubblichi il modello in Firebase, puoi aggiornarlo senza rilasciarlo una nuova versione dell'app e puoi usare Remote Config e A/B Testing per di pubblicare dinamicamente modelli diversi per insiemi di utenti diversi.
Se scegli di fornire il modello solo ospitandolo con Firebase e non puoi ridurne le dimensioni di download iniziali. Tieni presente, tuttavia, che se il modello non è integrato nella tua app, le funzionalità correlate al modello non saranno disponibili finché l'app non scarica l'app per la prima volta.
Per pubblicare il modello, puoi utilizzare uno dei due metodi:
- Scarica il modello TF Lite dalla pagina Testa e utilizza del set di dati nella console Google Cloud, quindi caricalo nella pagina Modello personalizzato della console Firebase. Di solito è il modo più semplice per pubblicare un singolo modello.
- Pubblica il modello direttamente dal progetto Google Cloud su Firebase utilizzando l'SDK Admin. Puoi utilizzare questo metodo per pubblicare in blocco più modelli o per contribuire a creare pipeline di pubblicazione automatica.
Per pubblicare il modello con l'API di gestione del modello dell'SDK Admin:
Pubblica il modello.
Dovrai specificare l'identificatore di risorsa del modello, che è una stringa simile all'esempio seguente:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
Il numero del progetto del bucket Cloud Storage che contiene il modello. Potrebbe trattarsi del tuo progetto Firebase o di un altro progetto Google Cloud. Puoi trovare questo valore nella pagina Impostazioni del Console Firebase o la dashboard della console Google Cloud. MODEL_ID
L'ID del modello, che hai ricevuto dall'API AutoML Cloud. Python
# First, import and initialize the SDK. # Get a reference to the AutoML model source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format( # See above for information on these values. project_number, model_id )) # Create the model object tflite_format = ml.TFLiteFormat(model_source=source) model = ml.Model( display_name="example_model", # This is the name you will use from your app to load the model. tags=["examples"], # Optional tags for easier management. model_format=tflite_format) # Add the model to your Firebase project and publish it new_model = ml.create_model(model) new_model.wait_for_unlocked() ml.publish_model(new_model.model_id)
Node.js
// First, import and initialize the SDK. (async () => { // Get a reference to the AutoML model. See above for information on these // values. const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`; // Create the model object and add the model to your Firebase project. const model = await ml.createModel({ displayName: 'example_model', // This is the name you use from your app to load the model. tags: ['examples'], // Optional tags for easier management. tfliteModel: { automlModel: automlModel }, }); // Wait for the model to be ready. await model.waitForUnlocked(); // Publish the model. await ml.publishModel(model.modelId); process.exit(); })().catch(console.error);
Scaricare e raggruppare il modello con l'app
Associando il modello alla tua app, puoi garantire che le caratteristiche ML dell'app continueranno a funzionare quando il modello ospitato da Firebase non è disponibile.
Se pubblichi il modello e lo pacchettizzi con la tua app, l'app utilizzerà la classe l'ultima versione disponibile.
Per scaricare il modello, fai clic su TF Lite nella barra degli strumenti del set di dati Test & pagina Google Cloud.
Passaggi successivi
Ora che hai pubblicato o scaricato il modello, scopri come utilizzarlo nelle tue app per iOS e versioni successive e Android.