Guida rapida: etichetta le immagini utilizzando un modello AutoML Vision Edge

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

  1. 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.
  2. Installa Google Cloud CLI.
  3. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init
  4. 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
  5. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  6. Abilita le API AutoML and Cloud Storage.

    gcloud services enable storage-component.googleapis.com automl.googleapis.com storage-api.googleapis.com
  7. Installa Google Cloud CLI.
  8. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init
  9. 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
  10. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  11. Abilita le API AutoML and Cloud Storage.

    gcloud services enable storage-component.googleapis.com automl.googleapis.com storage-api.googleapis.com
  12. 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. The PROJECT_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:

  1. Apri Cloud Shell.

  2. 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 denominato project-id-vcm nell'area geografica us-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/

  3. 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.

  1. 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:

  1. 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
    
  2. 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.

  1. Nella pagina di AutoML Vision, fai clic su Nuovo set di dati:

    Pulsante Nuovo set di dati nella console

  2. 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.

    Nuovo campo del nome del set di dati

  3. 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.

    Seleziona la finestra per l'importazione dei file

  4. 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.

    Immagini elencate al termine dell'importazione

addestra il modello

  1. Dopo aver creato ed elaborato il set di dati, seleziona la scheda Addestra per avviare l'addestramento del modello.

    seleziona scheda treno

  2. Seleziona Inizia addestramento per continuare. Si aprirà una finestra Addestra nuovo modello con le opzioni di addestramento.

  3. 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.

    definizione della sezione del modello per l'addestramento

  4. Nella sezione Ottimizza il modello per accetta l'opzione Miglior compromesso e seleziona Continua.

  5. Nella sezione Imposta un budget per l'ora nodo, accetta il budget suggerito per i nodi (4 ore nodo).

    Addestra modello Edge

  6. 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.

  1. 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.

  2. 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.

    scegli le ore nodo in cui eseguire il deployment

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.

  1. Nella sezione Utilizza il modello personalizzato della scheda Testa e utilizza, seleziona l'opzione TF Lite.

    Esporta modello TF Lite

  2. 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.

    Esporta finestra laterale modello TF Lite

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.

  1. Seleziona la scheda Testa e utilizza appena sotto la barra del titolo.
  2. Seleziona Rimuovi deployment dal banner sotto il nome del modello per aprire la finestra delle opzioni per annullare il deployment.

    annulla il deployment del menu popup

  3. Seleziona Rimuovi deployment per annullare il deployment del modello.

    deployment del modello

  4. 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.