Configurare 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'attacco di un account di servizio.

  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 l'account servizio che stai creando.

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

    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 multi-regione o dual-regione, e le seguenti risorse devono essere nella stessa regione:

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

Puoi utilizzare un bucket esistente anziché seguire la procedura di creazione del bucket descritta qui. Quando utilizzi un bucket esistente, la posizione del bucket deve essere la stessa 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 posizione in cui è stata creata l'istanza di Vertex AI TensorBoard, ad esempio us-central1.

Crea un'istanza di Vertex AI TensorBoard

Prima che gli esperimenti possano essere visualizzati, 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 Vertex AI TensorBoard predefinita

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 degli esperimenti Vertex AI. 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 e 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 posizione in cui creare l'istanza TensorBoard. La posizione di Vertex AI TensorBoard è regionale. Assicurati di selezionare una regione che supporti Vertex AI TensorBoard.

Creare manualmente un'istanza di Vertex AI TensorBoard

Puoi creare manualmente un Vertex AI TensorBoard. Questa opzione è utile per gli utenti più familiari con la console Google Cloud, per gli utenti che hanno bisogno di un 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 Vertex AI TensorBoard.
  • location: la posizione 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 la 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 località prima di procedere.
  4. Esegui l'autenticazione in gcloud CLI.
    gcloud auth application-default login
  5. Crea un'istanza di Vertex AI TensorBoard specificando un nome progetto e un nome visualizzato. Il completamento di questo passaggio potrebbe richiedere alcuni minuti la prima volta che lo esegui in un progetto. Prendi nota del nome dell'istanza Vertex AI TensorBoard (ad es. projects/123/locations/us-central1/tensorboards/456) visualizzato alla fine del seguente comando. 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 di TensorBoard.
    • DISPLAY_NAME: un nome descrittivo per l'istanza di TensorBoard.

Console Google Cloud

Se vuoi che i dati di Vertex AI TensorBoard vengano criptati, devi attivare la chiave CMEK durante la creazione dell'istanza.

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

  1. Se non hai mai utilizzato Vertex AI o stai avviando 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 poi 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"
}

Eliminare un'istanza TensorBoard

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

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

SDK Vertex AI per Python

Elimina un'istanza 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 dell'istanza TensorBoard.

Console Google Cloud

Per eliminare un'istanza Vertex AI TensorBoard utilizzando la console Google Cloud, segui questi passaggi:

  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 elencati in numerosi esempi.

Nome della risorsa TensorBoard

Il nome della 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 l'interfaccia a riga di comando gcloud o l'SDK Vertex AI 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 del tuo esperimento.
  • location: la località 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 Vertex AI della pagina Esperimenti della console Google Cloud e seleziona la scheda Istanze TensorBoard.

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