Configurare Vertex AI TensorBoard

Per configurare Vertex AI TensorBoard, è necessario quanto segue:

  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 ti trovi la creazione di 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 per accedere ai servizi e alle risorse di Google Cloud. Se necessario, utilizza i comandi seguenti 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

Per archiviare Vertex AI TensorBoard è necessario un bucket Cloud Storage i log generati dallo script di addestramento. Il bucket deve essere regionale ovvero non multiregionale o doppia, 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 il passaggio di creazione del bucket descritti qui. Quando utilizzi un bucket esistente, la località del bucket nella stessa posizione L'istanza Vertex AI TensorBoard è stata creata in.

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 Vertex AI TensorBoard, ad esempio us-central1.

crea un'istanza 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 usa un'istanza predefinita o creane una manualmente. Puoi creare più combinazioni all'interno di un progetto e di una regione, ma alla maggior parte degli utenti serve in esecuzione in un'istanza Compute Engine.

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 ripetuto 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 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 che vuoi in cui creare l'istanza TensorBoard.
  • location: la posizione in cui creare la tua istanza TensorBoard. La località di Vertex AI TensorBoard è a livello di regione. Assicurati di selezionare una regione che supporti Vertex AI TensorBoard.

Crea manualmente un'istanza Vertex AI TensorBoard

Puoi creare manualmente una Vertex AI TensorBoard. Questa funzionalità è utile per gli utenti a proprio agio con la console Google Cloud, gli utenti che hanno bisogno di una TensorBoard abilitata per CMEK (vedi CMEK) o gli utenti che vuoi utilizzare più TensorBoard. Questa istanza può quindi essere specificata direttamente inizializzare un esperimento Vertex AI, avviare un esperimento o configurare di addestramento personalizzato.

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 a cui vuoi assegnare per creare l'istanza TensorBoard.
  • display_name: un nome descrittivo per Vertex AI TensorBoard.
  • location: la posizione in cui creare l'istanza TensorBoard. La località di Vertex AI TensorBoard è a livello di regione. 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 l'interfaccia a riga di comando gcloud
  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 Vertex AI TensorBoard fornendo 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 dell'istanza di Vertex AI TensorBoard nome (ad esempio: projects/123/locations/us-central1/tensorboards/456), ovvero stampato alla fine di questo 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 nell'istanza TensorBoard.
    • DISPLAY_NAME: un nome descrittivo per TensorBoard.

Console Google Cloud

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

Segui questi passaggi per creare un'istanza abilitata per CMEK Vertex AI TensorBoard utilizzando il metodo nella 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 seleziona 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 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 valore Nome della risorsa TensorFlow.
  • project: il PROJECT_ID in cui si trova la tua 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 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 al momento della creazione utilizzando gcloud CLI o l'SDK Vertex AI oppure possono essere creati 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 il 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 dalla Nome risorsa TensorFlow. ID TensorBoard