Configura Vertex AI TensorBoard

Per configurare Vertex AI TensorBoard sono necessari i seguenti elementi:

  1. Crea un account di servizio con le autorizzazioni richieste.
  2. Crea un bucket Cloud Storage per archiviare i log di Vertex AI TensorBoard.
  3. Crea un'istanza di Vertex AI TensorBoard.

Crea un account di servizio con le autorizzazioni richieste

L'integrazione di Vertex AI TensorBoard con l'addestramento personalizzato richiede l'allegato di un service account.

  1. Crea un account di servizio:

    gcloud --project=PROJECT_ID iam service-accounts create USER_SA_NAME
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui stai creando un account di servizio.

    • USER_SA_NAME: un nome univoco per il service account che stai creando.

  2. Il nuovo account di servizio viene utilizzato dal servizio Vertex AI Training per accedere Google Cloud a servizi e risorse. Utilizza i seguenti comandi per concedere questi ruoli, se necessario:

    SA_EMAIL="USER_SA_NAME@PROJECT_ID.iam.gserviceaccount.com"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/storage.admin"
    
    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member="serviceAccount:${SA_EMAIL}" \
       --role="roles/aiplatform.user"
    

Crea un bucket Cloud Storage per archiviare i log di Vertex AI TensorBoard

È necessario un bucket Cloud Storage per archiviare i log di Vertex AI TensorBoard generati dallo script di addestramento. Il bucket deve essere regionale, ovvero non deve essere multiregionale o con due regioni, e le seguenti risorse devono trovarsi nella stessa regione:

  • Bucket Cloud Storage
  • Job di addestramento Vertex AI
  • Istanza Vertex AI TensorBoard

Puoi utilizzare un bucket esistente anziché seguire il passaggio di creazione del bucket descritto qui. Quando utilizzi un bucket esistente, la posizione del bucket deve corrispondere a quella in cui è stata creata l'istanza Vertex AI TensorBoard.

GCS_BUCKET_NAME="PROJECT_ID-tensorboard-logs-LOCATION_ID"
gcloud storage buckets create "gs://${GCS_BUCKET_NAME}" --location=LOCATION_ID

Sostituisci LOCATION_ID con la località in cui è stata creata l'istanza di Vertex AI TensorBoard, ad esempio us-central1.

GCS_BUCKET_NAME viene utilizzato per creare un job di addestramento personalizzato con REST.

Crea un'istanza di Vertex AI TensorBoard

Prima di poter visualizzare gli esperimenti, deve essere presente un'istanza di Vertex AI TensorBoard, ovvero una risorsa regionalizzata che archivia gli esperimenti di Vertex AI TensorBoard. Ci sono due opzioni. Puoi utilizzare un'istanza predefinita o crearne una manualmente. Puoi creare più istanze all'interno di un progetto e di una regione, ma la maggior parte degli utenti ha bisogno di una sola istanza.

Utilizza l'istanza predefinita di Vertex AI TensorBoard

Un'istanza TensorBoard predefinita viene creata automaticamente durante l'inizializzazione di un esperimento Vertex AI. Questo TensorBoard di supporto è associato all'esperimento Vertex AI e viene utilizzato con tutte le esecuzioni successive di Vertex AI Experiments. Il tensorboard_resource_name può essere recuperato direttamente dall'esperimento. Questo è il modo più semplice per iniziare a utilizzare Vertex AI TensorBoard e dovrebbe soddisfare le esigenze della maggior parte degli utenti.

SDK Vertex AI per Python

Crea un esperimento Vertex AI TensorBoard con un'istanza predefinita utilizzando l'SDK Vertex AI per Python. Recupera il tensorboard_resource_name dall'esperimento. Consulta init ed Experiment nella documentazione di riferimento dell'SDK Vertex AI.

Python

from google.cloud import aiplatform


def create_experiment_default_tensorboard_sample(
    experiment_name: str,
    experiment_description: str,
    project: str,
    location: str,
):
    aiplatform.init(
        experiment=experiment_name,
        experiment_description=experiment_description,
        project=project,
        location=location,
    )

    tensorboard = aiplatform.Experiment(experiment_name).get_backing_tensorboard_resource()
    print(f"Tensorboard resource name: {tensorboard.name}")

experiment_name: str, experiment_description: str, project: str, location: str,
  • experiment_name: Il nome dell'esperimento.
  • experiment_description: una descrizione dell'esperimento.
  • project: Il PROJECT_ID del progetto in cui vuoi creare l'istanza TensorBoard.
  • location: la località in cui creare l'istanza TensorBoard. La posizione di Vertex AI TensorBoard è regionale. Assicurati di selezionare una regione che supporti Vertex AI TensorBoard.

Crea manualmente un'istanza di Vertex AI TensorBoard

Puoi creare manualmente un Vertex AI TensorBoard. Questa opzione è utile per gli utenti più a loro agio con la console Google Cloud , per gli utenti che hanno bisogno di TensorBoard abilitato per CMEK (vedi CMEK) o per gli utenti che vogliono utilizzare più TensorBoard. Questa istanza può essere specificata direttamente durante l'inizializzazione di un esperimento Vertex AI, l'avvio di un'esecuzione dell'esperimento o la configurazione del codice di addestramento.

SDK Vertex AI per Python

Crea un'istanza di Vertex AI TensorBoard utilizzando l'SDK Vertex AI per Python.

Python

def create_tensorboard_sample(
    project: str,
    location: str,
    display_name: Optional[str] = None,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard.create(
        display_name=display_name,
        project=project,
        location=location,
    )

    aiplatform.init(
        project=project,
        location=location,
        experiment_tensorboard=tensorboard
    )

    return tensorboard

  • project: Il PROJECT_ID del progetto in cui vuoi creare l'istanza TensorBoard.
  • display_name: un nome descrittivo per l'istanza di Vertex AI TensorBoard.
  • location: la località in cui creare l'istanza TensorBoard. La posizione di Vertex AI TensorBoard è regionale. Assicurati di selezionare una regione che supporti Vertex AI TensorBoard.

Google Cloud CLI

Utilizza Google Cloud CLI per creare un'istanza Vertex AI TensorBoard.

  1. Installa gcloud CLI
  2. Inizializza Google Cloud CLI eseguendo gcloud init.
  3. Per confermare l'installazione, esplora i comandi.
     gcloud ai tensorboards --help 

    I comandi includono create, describe, list, update e delete. Se necessario, puoi seguire questi passaggi per impostare i valori predefiniti per il progetto e la posizione prima di procedere.
  4. Esegui l'autenticazione in gcloud CLI.
    gcloud auth application-default login
  5. Crea un'istanza di Vertex AI TensorBoard fornendo un nome progetto e un nome visualizzato. Il completamento di questo passaggio potrebbe richiedere alcuni minuti la prima volta in un progetto. Prendi nota del nome dell'istanza Vertex AI TensorBoard (ad esempio: projects/123/locations/us-central1/tensorboards/456) stampato alla fine del comando seguente. Ti servirà nei passaggi successivi.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Sostituisci quanto segue:
    • PROJECT_NAME: il progetto in cui vuoi creare l'istanza TensorBoard.
    • DISPLAY_NAME: un nome descrittivo per l'istanza TensorBoard.

ConsoleGoogle Cloud

Se vuoi criptare i dati di Vertex AI TensorBoard, devi abilitare la chiave CMEK durante la creazione dell'istanza.

Segui questi passaggi per creare un'istanza Vertex AI TensorBoard abilitata per CMEK utilizzando la console Google Cloud .

  1. Se non hai mai utilizzato Vertex AI o stai iniziando un nuovo progetto, configura il progetto e l'ambiente di sviluppo.
  2. Nella sezione Vertex AI della console Google Cloud , vai alla pagina Esperimenti.

    Vai alla pagina Esperimenti
  3. Vai alla scheda Istanze TensorBoard.
  4. Fai clic su Crea nella parte superiore della pagina.
  5. Seleziona una località dall'elenco a discesa Regione.
  6. (Facoltativo) Aggiungi una descrizione.
  7. (Facoltativo) In Crittografia, seleziona Chiave di crittografia gestita dal cliente (CMEK) e scegli una chiave gestita dal cliente.
  8. Fai clic su Crea per creare l'istanza TensorBoard.

crea istanza TensorBoard

Terraform

Il seguente esempio utilizza la risorsa Terraform google_vertex_ai_tensorboard per creare un'istanza Vertex AI TensorBoard non criptata.

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Terraform

resource "google_vertex_ai_tensorboard" "default" {
  display_name = "vertex-ai-tensorboard-sample-name"
  region       = "us-central1"
}

Elimina un'istanza TensorBoard

L'eliminazione di un'istanza TensorBoard comporta l'eliminazione di TensorBoard e di tutti gli esperimenti e le esecuzioni TensorBoard associati. L'istanza Vertex AI Experiments a cui è associata non viene eliminata.

Per eliminare un esperimento Vertex AI e gli esperimenti Vertex AI TensorBoard associati, vedi Eliminare un esperimento.

SDK Vertex AI per Python

Elimina un'istanza di Vertex AI TensorBoard utilizzando l'SDK Vertex AI per Python.

Python

def delete_tensorboard_instance_sample(
    tensorboard_resource_name: str,
    project: str,
    location: str,
):
    aiplatform.init(project=project, location=location)

    tensorboard = aiplatform.Tensorboard(
        tensorboard_name=tensorboard_resource_name
    )

    tensorboard.delete()

  • tensorboard_resource_name: fornisci il nome della risorsa TensorBoard.
  • project: il PROJECT_ID in cui si trova l'istanza TensorBoard.
  • location: la posizione in cui si trova l'istanza TensorBoard.

ConsoleGoogle Cloud

Segui questi passaggi per eliminare un'istanza Vertex AI TensorBoard utilizzando la console Google Cloud .

  1. Nella sezione Vertex AI della console Google Cloud , vai alla pagina Esperimenti.

    Vai alla pagina Esperimenti
  2. Seleziona la scheda Istanze TensorBoard. Viene visualizzato un elenco di istanze TensorBoard.
  3. Seleziona e fai clic su Elimina.

elimina istanza TensorBoard

Termini pertinenti

Questi termini, "Nome risorsa TensorBoard" e "ID istanza TensorBoard", sono menzionati in numerosi esempi.

Nome risorsa TensorBoard

Il nome risorsa TensorBoard viene utilizzato per identificare completamente l'istanza Vertex AI TensorBoard. Il formato è il seguente:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

Il nome della risorsa TensorBoard viene stampato nei messaggi di log quando viene creata utilizzando gcloud CLI o Vertex AI SDK oppure può essere creato fornendo i valori appropriati per i segnaposto.

SDK Vertex AI per Python

Il nome della risorsa TensorBoard può essere recuperato da un esperimento Vertex AI utilizzando l'SDK Vertex AI.

Python

from google.cloud import aiplatform


def get_experiment_backing_tensorboard_sample(
    experiment_name: str,
    project: str,
    location: str,
):
    backing_tensorboard = aiplatform.Experiment(
        project=project,
        location=location,
        experiment_name=experiment_name
    ).get_backing_tensorboard_resource()

    return backing_tensorboard.name

  • experiment_name: Il nome dell'esperimento.
  • project: il PROJECT_ID dell'esperimento.
  • location: la posizione in cui si trova l'esperimento.

ID istanza TensorBoard

L'ID istanza TensorBoard è un valore ID generato associato a un'istanza TensorBoard. Per trovare TENSORBOARD_INSTANCE_ID, vai alla sezione Esperimenti della pagina Vertex AI della console Google Cloud e seleziona la scheda Istanze TensorBoard.

Puoi anche recuperare l'ID istanza dal nome della risorsa TensorBoard. ID TensorBoard