Etichetta le immagini utilizzando un modello AutoML Vision Edge

Questa guida rapida illustra la procedura per:

  • Copia di un insieme di immagini in Google Cloud Storage.
  • Creare un file CSV con l'elenco delle immagini e delle relative etichette.
  • Utilizzando AutoML Vision per creare il tuo set di dati, addestrare un modello AutoML Vision Edge (classificazione di immagini o rilevamento di oggetti) ed eseguire 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 Corallo Edge TPU.

Prima di iniziare

Configura il progetto

  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 initialize gcloud CLI, esegui questo comando:

    gcloud init
  4. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  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 initialize gcloud CLI, esegui questo comando:

    gcloud init
  9. Crea o seleziona un progetto Google Cloud.

    • Crea un progetto Google Cloud:

      gcloud projects create PROJECT_ID

      Sostituisci PROJECT_ID con un nome per il progetto Google Cloud che stai creando.

    • Seleziona il progetto Google Cloud che hai creato:

      gcloud config set project PROJECT_ID

      Sostituisci PROJECT_ID con il nome del tuo progetto Google Cloud.

  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. 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 ambiente PROJECT_ID consente di specificare facilmente l'ID.

Crea un bucket Cloud Storage

Utilizza Cloud Shell, una riga di comando Linux basata su browser connessa al 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 seguente comando crea un bucket di archiviazione denominato project-id-vcm nella regione us-central1. Per un elenco completo delle regioni disponibili, consulta la pagina Località 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 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:

  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

Visita l'interfaccia utente di AutoML Vision per iniziare 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 AutoML Vision, fai clic su Nuovo set di dati:

    Pulsante Nuovo set di dati nella console

  2. (Facoltativo) Specifica un nome per questo set di dati, seleziona l'obiettivo del modello e fai clic su Crea set di dati per continuare la procedura di creazione del set di dati.

    Nuovo campo Nome 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 all'indirizzo:

    • gs://${PROJECT_ID}-vcm/csv/all_data.csv

    Sostituisci PROJECT_ID con l'ID progetto specifico.

    Seleziona la finestra di importazione dei file

  4. Fai clic su Continua per avviare l'importazione dell'immagine. Il processo di importazione richiede pochi minuti. Al termine, si apre la pagina successiva, che contiene i dettagli su tutte le immagini identificate per il tuo set di dati, sia etichettate che non etichettate.

    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 addestra

  2. Seleziona Inizia addestramento per continuare. Si aprirà la 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 di opzione per il modello Edge. Seleziona Continua per passare alla sezione successiva.

    definisci la 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 nodo suggerito (4 ore nodo).

    Addestra modello Edge

  6. Seleziona Inizia addestramento per iniziare 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 l'utilizzo.

  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 un nodo su cui eseguire il deployment e seleziona Esegui il deployment per iniziare il processo di deployment del modello.

    scegli le ore nodo su cui eseguire il deployment

Al termine del deployment del modello, riceverai una notifica.

Esporta il modello

Il passaggio finale nell'utilizzo di un modello AutoML Vision Edge consiste nell'esportare (ottimizzare e scaricare) ed eseguire il deployment (utilizzare) il modello.

Esistono diversi modi per esportare ed eseguire il deployment dei modelli da utilizzare per la previsione sui dispositivi Edge.

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.

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

    Esporta modello TF Lite

  2. Nella finestra Esporta pacchetto TF Lite visualizzata, specifica il percorso del bucket Cloud Storage in cui esportare un pacchetto TF Lite, quindi seleziona Esporta. In genere il processo di esportazione richiede diversi minuti.

    Finestra laterale Esporta modello TF Lite

Nel percorso di destinazione di Google Cloud Storage troverai una cartella denominata 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 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 eseguire 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, quindi segui il tutorial per CoreML.
  • Puoi esportare il modello per l'esecuzione su Coral Edge TPU. 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 di 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 savedModel TensorFlow e utilizzarlo con un container Docker. Dopo l'addestramento, puoi esportare il modello selezionando l'opzione Contenitore nella scheda Testa e utilizza e seguire il tutorial sui container periferici per informazioni su come eseguire l'esportazione in un container.
  • Puoi esportare il modello per utilizzarlo 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, quindi segui il tutorial di TensorFlow.js di Edge.

esegui la pulizia

Se non hai più bisogno di un modello o set di dati personalizzato, puoi eliminarli.

Per evitare addebiti inutili di Google Cloud Platform, utilizza la console di Google Cloud per eliminare il progetto se non ti serve.

Annulla il deployment del modello

Il modello prevede addebiti durante il deployment.

  1. Seleziona la scheda Testa e utilizza subito sotto la barra del titolo.
  2. Seleziona Rimuovi deployment dal banner sotto il nome del modello per aprire la finestra dell'opzione di annullamento del deployment.

    menu popup di annullamento del deployment

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

    deployment del modello

  4. Riceverai un'email al completamento dell'annullamento del deployment del modello.

Elimina il progetto (facoltativo)

Per evitare addebiti inutili di Google Cloud Platform, utilizza la console Google Cloud per eliminare il progetto se non ti serve.