Etichetta le immagini utilizzando un modello AutoML Vision Edge
Questa guida rapida illustra i seguenti passaggi:
- Copiare un insieme di immagini in Google Cloud Storage.
- Creare un file CSV che contenga le immagini e le relative etichette.
- Con AutoML Vision per creare il tuo set di dati, addestra un modello AutoML Vision (classificazione di immagini o rilevamento di oggetti) ed esegui una previsione.
- Esportazione e deployment del modello AutoML Vision Edge per uno dei vari tipi di dispositivi periferici, ad esempio telefoni cellulari, dispositivi basati su ARM e Coral Edge TPU.
Prima di iniziare
Set up your project
- 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.
- Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
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 - Installa Google Cloud CLI.
-
Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:
gcloud init
-
Crea o seleziona un progetto Google Cloud.
-
Crea un progetto Google Cloud:
gcloud projects create PROJECT_ID
-
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
-
-
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 - Set the
PROJECT_ID
environment variable to your Project ID.export PROJECT_ID=PROJECT_ID
The AutoML API calls and resource names include your Project ID in them. ThePROJECT_ID
environment variable provides a convenient way to specify the ID.
Crea un bucket Cloud Storage
Utilizza Cloud Shell, una riga di comando Linux basata su browser connessa al tuo 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 denominatoproject-id-vcm
nell'area geograficaus-central1
. Per un elenco completo delle regioni disponibili, consulta la pagina Posizioni dei bucket.gsutil mb -p ${PROJECT_ID} -c regional -l us-central1 gs://${PROJECT_ID}-vcm/
Imposta la variabile BUCKET.
export BUCKET=${PROJECT_ID}-vcm
Copia le immagini di esempio nel tuo bucket
Ora copia il set di dati dei fiori utilizzato in questo post del blog di 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:
gsutil -m cp -R gs://cloud-samples-data/ai-platform/flowers/ gs://${BUCKET}/img/
La copia dei 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:
gsutil 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:
gsutil cp all_data.csv gs://${BUCKET}/csv/
Crea il tuo set di dati
Accedi all'interfaccia utente di Vision AutoML per avviare il processo di creazione del set di dati e di addestramento del modello.
Quando richiesto, assicurati di selezionare il progetto che hai utilizzato per il bucket 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, quindi fai clic su Crea set di dati per continuare la procedura di creazione del set di dati.
Nella schermata Seleziona i file da importare, scegli l'opzione
Seleziona un file CSV su Cloud Storage. Specifica l'URI Cloud Storage del 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 iniziare l'importazione dell'immagine. Il processo di importazione richiede alcuni minuti. Al termine, verrà visualizzata la pagina successiva, contenente i dettagli di tutte le immagini identificate per il tuo set di dati, con e senza etichetta.
addestra il modello
Dopo aver creato ed elaborato il set di dati, seleziona la scheda Addestra per avviare l'addestramento del modello.
Seleziona Inizia addestramento per continuare. Si aprirà una finestra Addestra nuovo modello con le opzioni di addestramento.
Nella sezione Definisci il modello della finestra di addestramento del nuovo modello, modifica il nome del modello (facoltativo) e seleziona l'opzione
Dispositivo periferico. Seleziona Continua per passare alla sezione seguente.Nella sezione Ottimizza il modello per accetta l'opzione
Miglior compromesso e seleziona Continua.Nella sezione Imposta un budget per l'ora nodo, accetta il budget suggerito per i nodi (4 ore nodo).
Seleziona Inizia addestramento per avviare l'addestramento del modello.
L'operazione richiede circa un'ora L'addestramento potrebbe interrompersi prima dell'ora nodo selezionata. Il servizio ti invierà un'email al termine dell'addestramento o in caso di errori.
Esegui il deployment del modello
Prima di poter esportare il modello, devi eseguirne il deployment per utilizzarlo.
Per eseguire il deployment del modello, seleziona la scheda Testa e utilizza. Nella scheda, fai clic sull'opzione 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 avviare il processo di deployment del modello.
Al termine del deployment del modello, riceverai una notifica.
Esporta il modello
L'ultimo passaggio nell'utilizzo di un modello di dispositivo periferico AutoML Vision consiste nell'esportare (ottimizzare e scaricare) e nel sottoporre a deployment (utilizzare) il modello.
Esistono diversi modi per esportare e sottoporre a deployment i modelli da utilizzare per la previsione sui dispositivi periferici.
In questa guida rapida, come esempio utilizzerai Tensorflow Lite (TF Lite). Entrambi i modelli TF Lite sono facili da usare e hanno una vasta gamma di casi d'uso.
Nella sezione Utilizza il modello personalizzato della scheda Testa e utilizza, seleziona l'opzione TF Lite.
Nella finestra Esporta pacchetto TF Lite visualizzata, specifica una posizione 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 è presente una cartella, il cui nome include il timestamp e il formato del modello, nella quale 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 relativi alle risorse utilizzate in questa pagina, elimina il progetto Google Cloud con le risorse.
Passaggi successivi
Con questi file, puoi seguire i tutorial per il deployment su dispositivi Android, dispositivi iOS, Raspberry Pi 3 o sul Web.
Altre opzioni di utilizzo del modello
- Puoi esportare il modello come modello supportato da CoreML (iOS/macOS). Dopo l'addestramento, puoi esportare il modello selezionando l'opzione CoreML nella scheda Testa e utilizza e segui il tutorial su CoreML.
- Puoi esportare il modello per l'esecuzione su TPU Coral Edge. Dopo l'addestramento, esporta il modello selezionando l'opzione Coral nella scheda Testa e utilizza. Tuttavia, a causa dell'attuale incompatibilità con il nostro modello di rilevamento degli oggetti, ti 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 invece uno di questi tutorial di Google Colab). Dopo aver esportato il modello, segui la documentazione ufficiale di Coral su come eseguire un'inferenza su Edge TPU.
- Puoi esportare il modello come TensorFlow SaveModel e utilizzarlo con un container Docker. Dopo l'addestramento, puoi esportare il modello selezionando l'opzione Container nella scheda Testa e utilizza e segui il tutorial sui Edge Edge su come esportare in un container.
- Puoi esportare il modello da utilizzare in un browser o in Node.js come modello Tensorflow.js. Dopo l'addestramento, puoi esportare il modello selezionando l'opzione Tensorflow.js nella scheda Testa e utilizza e segui il tutorial su Edge TensorFlow.js.
Esegui la pulizia
Se non hai più bisogno del modello o del set di dati personalizzato, puoi eliminarli.
Per evitare addebiti non necessari su Google Cloud Platform, utilizza la console di GCP per eliminare il progetto se non ti serve.
Annulla il deployment del modello
Il modello è soggetto ad addebiti durante il deployment.
- Seleziona la scheda Testa e utilizza appena sotto la barra del titolo.
- Seleziona Rimuovi deployment dal banner sotto il nome del modello per aprire la finestra delle opzioni per annullare il 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 non necessari di Google Cloud Platform, utilizza la console Google Cloud per eliminare il tuo progetto se non ti serve.