Etichetta le immagini utilizzando un modello AutoML Vision Edge
Questa guida rapida illustra il processo di:
- Copia di un insieme di immagini in Google Cloud Storage.
- Creazione di un file CSV che elenca le immagini e le relative etichette.
- Utilizzando AutoML Vision per creare il tuo set di dati, addestra un modello modello AutoML Vision Edge (classificazione di immagini o rilevamento di oggetti) e per fare una previsione.
- Esportazione e deployment del modello AutoML Vision Edge per uno dei numerosi tipi di dispositivi periferici, come cellulari, dispositivi basati su ARM Coral Edge TPU.
Prima di iniziare
Configura il progetto
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API AutoML and Cloud Storage.
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API AutoML and Cloud Storage.
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Imposta la variabile di ambiente
PROJECT_ID
sul tuo ID progetto.export PROJECT_ID=PROJECT_ID
Le chiamate API e i nomi delle risorse AutoML includono l'ID progetto al loro interno. La variabile di ambientePROJECT_ID
consente di specificare facilmente l'ID.
Crea un bucket Cloud Storage
Utilizza Cloud Shell, una riga di comando Linux basata su browser e connessa Progetto della console Google Cloud, per creare il tuo bucket Cloud Storage:
Creare un bucket Google Cloud Storage. Il nome del bucket deve essere nel formato:
project-id-vcm
. Il comando seguente crea un bucket di archiviazione nella regioneus-central1
denominataproject-id-vcm
. Per un elenco completo regioni disponibili, consulta la pagina Località dei bucket.gcloud storage buckets create gs://${PROJECT_ID}-vcm/ --project=${PROJECT_ID} --location=us-central1
Imposta la variabile BUCKET.
export BUCKET=${PROJECT_ID}-vcm
Copia le immagini di esempio nel tuo bucket
Quindi, copia il set di dati dei fiori utilizzato questo post del blog su Tensorflow. Le immagini vengono archiviate in un bucket Cloud Storage pubblico, quindi puoi copiarle nel tuo bucket direttamente da qui.
Nella sessione di Cloud Shell inserisci:
gcloud storage cp gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/ --recursive
Il completamento della copia del file richiede circa 20 minuti.
Crea il file CSV
Il set di dati di esempio contiene un file CSV con tutte le posizioni delle immagini e le etichette di ogni immagine. Lo utilizzerai per creare il tuo file CSV:
Aggiorna il file CSV in modo che punti ai file nel tuo bucket:
gcloud storage cat gs://${BUCKET}/img/flowers/all_data.csv | sed "s:cloud-ml-data/img/flower_photos/:${BUCKET}/img/flowers/:" > all_data.csv
Copia il file CSV nel tuo bucket:
gcloud storage cp all_data.csv gs://${BUCKET}/csv/
Crea il tuo set di dati
Visita la UI di AutoML Vision per iniziare il processo di creazione il set di dati e l'addestramento del modello.
Quando richiesto, assicurati di selezionare il progetto che hai utilizzato per Cloud Cloud Storage.
Nella pagina di AutoML Vision, fai clic su Nuovo set di dati:
Specifica un nome per questo set di dati (facoltativo), seleziona l'obiettivo del modello e poi fai clic su Crea set di dati per la procedura di creazione del set di dati.
Nella schermata Seleziona i file da importare, scegli il
Seleziona un file CSV su Cloud Storage. Specifica l'URI Cloud Storage di il file CSV. Per questa guida rapida, il file CSV si trova nel seguente percorso:gs://${PROJECT_ID}-vcm/csv/all_data.csv
Sostituisci
PROJECT_ID
con l'ID progetto specifico.Fai clic su Continua per avviare l'importazione dell'immagine. Il processo di importazione richiede per alcuni minuti. Al termine, si apre la pagina successiva, dettagli su tutte le immagini identificate per il tuo set di dati, sia etichettate che immagini senza etichetta.
Addestra il modello
Una volta creato ed elaborato il set di dati, seleziona la scheda Addestra per per avviare l'addestramento del modello.
Seleziona Inizia addestramento per continuare. Si aprirà la pagina Addestra nuovo modello con le opzioni di addestramento.
Nella sezione Definisci il tuo modello della finestra di addestramento del nuovo modello, modifica il nome del modello (facoltativo) e seleziona
Modello Edge opzione di selezione. Seleziona Continua per passare alla sezione seguente.Nella sezione Ottimizza modello per, accetta il
Miglior compromesso e seleziona Continua.Nella sezione Imposta un budget per l'ora nodo, accetta il budget per il nodo suggerito (4 ore nodo).
Seleziona Inizia addestramento per avviare l'addestramento del modello.
L'operazione richiede circa un'ora L'addestramento potrebbe interrompersi prima rispetto all'ora nodo che hai selezionato. Il servizio ti invierà un'email al termine della formazione vengono completate o se si verificano errori.
Esegui il deployment del modello
Prima di poter esportare il modello, devi eseguirne il deployment per l'uso.
Per eseguire il deployment del modello, seleziona lo strumento Testa e usa. Nella scheda fai clic sul Esegui il deployment del modello accanto al nome del modello.
Nella finestra che segue, specifica 1 nodo su cui eseguire il deployment e seleziona Esegui il deployment. per iniziare il processo di deployment del modello.
Al termine del deployment del modello, riceverai una notifica.
Esporta il modello
L'ultimo passaggio per utilizzare un modello AutoML Vision Edge è esportare (ottimizzare e scaricare) ed eseguire il deployment (usare) del modello.
Esistono diversi modi per esportare ed eseguire il deployment dei modelli da utilizzare per la previsione sui dispositivi periferici.
In questa guida rapida utilizzerai Tensorflow Lite (TF Lite) come esempio. Entrambi i modelli TF Lite sono facili da usare e hanno una vasta gamma di casi d'uso.
Nella sezione Utilizza il tuo modello della scheda Testa e usa, seleziona TF Lite.
Nella finestra Esporta pacchetto TF Lite visualizzata, specifica un Località del bucket Cloud Storage in cui esportare un pacchetto TF Lite, quindi seleziona Esporta. In genere il processo di esportazione richiede diversi minuti.
Nel percorso di destinazione di Google Cloud Storage troverai una cartella denominato con timestamp e formato del modello, in cui puoi trovare i seguenti file:
- un file tflite (
model.tflite
), - un file di dizionario (
dict.txt
) - un file di metadati (
tflite_metadata.json
)
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi per le risorse utilizzate in questa pagina, elimina il progetto Google Cloud Google Cloud.
Passaggi successivi
Con questi file, puoi seguire i tutorial per eseguire il deployment Dispositivi Android, Dispositivi iOS, Raspberry Pi 3 oppure Web.
Altre opzioni di utilizzo del modello
- Puoi esportare il modello come supportato da CoreML (iOS/macOS) un modello di machine learning. Dopo l'addestramento, puoi esportare il modello selezionando la colonna CoreML nella sezione Testa e usa e segui le Tutorial CoreML.
- Puoi esportare il modello per l'esecuzione su Coral Edge TPU. Dopo l'addestramento, esporta il modello selezionando l'opzione Coral nella sezione Testa e usa. Tuttavia, a causa dell'attuale incompatibilità con il nostro modello di rilevamento degli oggetti, consigliamo di esportare solo i modelli di classificazione delle immagini per Edge TPU (per addestrare un modello di rilevamento degli oggetti per Edge TPU, segui uno di questi tutorial di Google Colab). Una volta esportato il modello, segui la documentazione ufficiale di Coral su come: eseguire un'inferenza su Edge TPU.
- Puoi esportare il modello come SavedModel di TensorFlow e utilizzarlo con un container Docker. Dopo l'addestramento, puoi esportare il modello selezionando l'opzione Contenitore nella sezione Testa e usa e segui le Tutorial sui container Edge su come esportare in un container.
- Puoi esportare il modello per utilizzarlo in un browser o in Node.js come nel modello Tensorflow.js. Dopo l'addestramento, puoi esportare il modello selezionando l'opzione Tensorflow.js nella sezione Testa e usa e segui le Tutorial su TensorFlow.js per Edge.
Esegui la pulizia
Se non hai più bisogno di un modello o di un set di dati personalizzato, puoi eliminarli.
Per evitare addebiti inutili per Google Cloud Platform, utilizza il metodo Console Google Cloud per eliminare il progetto se non ti serve.
Annulla il deployment del modello
Durante il deployment del modello vengono addebitati dei costi.
- Seleziona il pulsante Testa e Usa Tab appena sotto la barra del titolo.
- Seleziona Rimuovi deployment dal banner sotto il nome del modello per aprire la finestra con le opzioni di annullamento del deployment.
- Seleziona Rimuovi deployment per annullare il deployment del modello.
- Riceverai un'email al termine dell'annullamento del deployment del modello.
Elimina il progetto (facoltativo)
Per evitare addebiti inutili per Google Cloud Platform, utilizza il metodo Console Google Cloud per eliminare il progetto se non ti serve.