Introduzione all'addestramento personalizzato: configurare il progetto e l'ambiente

Questa pagina illustra come configurare il tuo progetto Google Cloud per utilizzare Vertex AI e scaricare alcuni codici TensorFlow per l'addestramento. Inoltre, scarichi il codice di un'app web che riceve previsioni.

Questo documento fa parte del tutorial di addestramento personalizzato Hello, che illustra come utilizzare Vertex AI per addestrare un modello di classificazione delle immagini e fornire previsioni utilizzando il modello. In questo tutorial, utilizzerai la funzionalità di addestramento personalizzato di Vertex AI AI per eseguire un'applicazione di formazione TensorFlow Keras in uno degli ambienti container predefiniti di Vertex AI. Questo job di addestramento personalizzato addestra un modello di machine learning (ML) per classificare le immagini dei fiori in base al tipo. Dopo aver addestrato il modello ML, il tutorial mostra come creare un endpoint e fornire previsioni da tale endpoint a una semplice app web.

Questo tutorial è composto da diverse pagine:

  1. Configurazione del progetto e dell'ambiente.

  2. Addestra un modello di classificazione di immagini personalizzate.

  3. Pubblicazione delle previsioni da un modello di classificazione delle immagini personalizzato.

  4. Pulizia del progetto.

Ogni pagina presuppone che tu abbia già eseguito le istruzioni dalle pagine precedenti del tutorial.

Prima di iniziare

Nel corso di questo tutorial, utilizza Google Cloud Console e Cloud Shell per interagire con Google Cloud. In alternativa, puoi utilizzare un'altra shell Bash con l'interfaccia a riga di comando di Google Cloud installata al posto di Cloud Shell.

  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. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  4. Abilita le API Vertex AI and Cloud Functions.

    Abilita le API

  5. Nella pagina del selettore dei progetti in Google Cloud Console, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Cloud. Scopri come verificare se la fatturazione è abilitata su un progetto.

  7. Abilita le API Vertex AI and Cloud Functions.

    Abilita le API

  8. In Cloud Console, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore di Cloud Console, viene avviata una sessione Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con l'interfaccia a riga di comando di Google Cloud già installata e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  9. Se Cloud Shell non mostra (PROJECT_ID)$ nel prompt (dove PROJECT_ID viene sostituito dall'ID progetto di Google Cloud), esegui il comando seguente per configurare Cloud Shell in modo che utilizzi il tuo progetto:

    gcloud config set project PROJECT_ID
    

1. Crea un bucket Cloud Storage

Crea un bucket Cloud Storage a livello di area geografica nell'area geografica us-central1 da utilizzare per il resto di questo tutorial. Mentre segui il tutorial, utilizza il bucket per vari scopi:

  • Archivia il codice di addestramento per Vertex AI da utilizzare in un job di addestramento personalizzato.
  • Archivia gli artefatti del modello restituiti dal job di addestramento personalizzato.
  • Ospita l'applicazione web che riceve previsioni dal tuo endpoint Vertex AI.

Per creare il bucket Cloud Storage, esegui il comando seguente nella sessione Cloud Shell:

gsutil mb -p PROJECT_ID -l us-central1 gs://BUCKET_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto Google Cloud.
  • BUCKET_NAME: un nome scelto da te per il bucket. Ad esempio, hello_custom_PROJECT_ID. Scopri i requisiti per i nomi dei bucket.

2. Scarica codice di esempio

Scarica codice di esempio da utilizzare per il resto del tutorial. Esegui i comandi seguenti nella sessione Cloud Shell per scaricare, decomprimere e accedere alla directory con il codice di esempio per questo tutorial:

gsutil cp gs://cloud-samples-data/ai-platform/hello-custom/hello-custom-sample-v1.tar.gz - | tar -xzv
cd hello-custom-sample

A questo punto, aggiorna il file requirements.txt nel codice di esempio per utilizzare le versioni corrette di Flask e Jinja. Esegui il comando seguente nella sessione Cloud Shell nella cartella hello-custom-sample.

sed -i 's/Flask==1.1.2/Flask==2.0.1\nJinja2<3.1.0/' function/requirements.txt

Esegui il comando seguente per verificare il file aggiornato correttamente.

cat function/requirements.txt

L'output dovrebbe avere il seguente aspetto:

Flask==2.0.1
Jinja2<3.1.0
requests==2.24.0
google-cloud-aiplatform~=0.5.1
tensorflow-cpu~=2.3.2

Se vuoi, puoi visualizzare i file di codice di esempio:

ls -lpR

La directory hello-custom-sample contiene quattro elementi:

  • trainer/: una directory del codice TensorFlow Keras per l'addestramento del modello di classificazione dei fiori.

  • setup.py: un file di configurazione per inserire in pacchetti la directory trainer/ in una distribuzione di origine Python che Vertex AI può utilizzare.

  • function/: una directory di codice Python per una funzione Cloud Functions in grado di ricevere ed elaborare le richieste di previsione da un browser web, inviarle a Vertex AI, elaborare le risposte della previsione e inviarle nuovamente al browser.

  • webapp/: una directory con codice e markup per un'app web che riceve previsioni sulla classificazione dei fiori da Vertex AI.

Passaggi successivi

Segui la pagina successiva di questo tutorial per eseguire un job di addestramento personalizzato su Vertex AI.