Vertex AI TensorBoard einrichten

Folgendes ist zum Einrichten von Vertex AI TensorBoard erforderlich:

  1. Erstellen Sie ein Dienstkonto mit den erforderlichen Berechtigungen.
  2. Erstellen Sie einen Cloud Storage-Bucket zum Speichern von Vertex AI TensorBoard-Logs.
  3. Erstellen Sie eine Vertex AI TensorBoard-Instanz.

Erstellen Sie ein Dienstkonto mit den erforderlichen Berechtigungen.

Für die Einbindung von Vertex AI TensorBoard in benutzerdefiniertes Training ist das Anhängen eines Dienstkonto erforderlich.

  1. Erstellen Sie ein Dienstkonto:

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

    Dabei gilt:

    • PROJECT_ID: der Name des Projekts, in dem Sie ein Dienstkonto erstellen.

    • USER_SA_NAME: Eindeutiger Name für das erstellte Dienstkonto.

  2. Das neue Dienstkonto wird vom Vertex AI-Trainingsdienst für den Zugriff auf Google Cloud-Dienste und -Ressourcen verwendet. Verwenden Sie die folgenden Befehle, um diese Rollen bei Bedarf zuzuweisen:

    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"
    

Cloud Storage-Bucket zum Speichern von Vertex AI TensorBoard-Logs erstellen

Zum Speichern der von Ihrem Trainingsskript generierten Vertex AI TensorBoard-Logs ist ein Cloud Storage-Bucket erforderlich. Der Bucket muss regional sein, d. h. er darf nicht für eine Mehrfachregion oder Dual-Region festgelegt werden und die folgenden Ressourcen müssen sich alle in derselben Region befinden:

  • Cloud Storage-Bucket
  • Vertex AI-Trainingsjob
  • Vertex AI TensorBoard-Instanz

Sie können einen vorhandenen Bucket verwenden, anstatt den hier beschriebenen Schritt zur Erstellung des Buckets auszuführen. Wenn Sie einen vorhandenen Bucket nutzen, muss sich die REGION des Buckets in derselben Region befinden, in der Ihre Vertex AI TensorBoard-Instanz erstellt wurde.

LOCATION=LOCATION_ID
GCS_BUCKET_NAME="PROJECT_ID-tensorboard-logs-${LOCATION_ID}"
gsutil mb -l ${LOCATION_ID} "gs://${GCS_BUCKET_NAME}"

Ersetzen Sie LOCATION_ID durch die Region, in der die Vertex AI TensorBoard-Instanz erstellt wurde. Beispiel: us-central1.

Vertex AI TensorBoard-Instanz erstellen

Eine Vertex AI TensorBoard-Instanz ist eine regionale Ressource, in der Ihre Vertex AI TensorBoard-Tests gespeichert werden. Sie muss vorhanden sein, bevor die Tests visualisiert werden können. Sie haben zwei Möglichkeiten zur Auswahl. Sie können entweder eine Standardinstanz verwenden oder eine manuell erstellen. Sie können mehrere Instanzen innerhalb eines Projekts und einer Region erstellen, aber die meisten Nutzer benötigen nur eine Instanz.

Vertex AI TensorBoard-Standardinstanz verwenden

Eine TensorBoard-Standardinstanz wird automatisch erstellt, wenn ein Vertex AI-Test initialisiert wird. Dieses unterstützende TensorBoard ist mit dem Vertex AI-Test verknüpft und wird für alle nachfolgenden Vertex AI-Testausführungen verwendet. Dies ist der einfachste Weg, um mit Vertex AI TensorBoard zu starten und sollte die meisten Nutzeranforderungen erfüllen.

Vertex AI SDK für Python

Erstellen Sie mit dem Vertex AI SDK für Python einen Vertex AI TensorBoard-Test mit einer Standardinstanz. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI SDK unter init.

Python

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,
    )

experiment_name: str, experiment_description: str, project: str, location: str,
  • experiment_name: Der Name Ihres Tests.
  • experiment_description: Eine Beschreibung Ihres Tests.
  • project: Die PROJECT_ID des Projekts, in dem Sie die TensorBoard-Instanz erstellen möchten.
  • location: Die Region, in der Sie die TensorBoard-Instanz erstellen möchten. Siehe Liste der verfügbaren Standorte. Verwenden Sie eine Region, die TensorBoard unterstützt.

Vertex AI TensorBoard-Instanz manuell erstellen

Sie können ein Vertex AI TensorBoard manuell erstellen. Dies ist nützlich, wenn Nutzer eher mit der Google Cloud Console vertraut sind, wenn Nutzer ein CMEK-fähiges TensorBoard benötigen (siehe CMEK) oder für Nutzer, die mehrere TensorBoards verwenden möchten. Diese Instanz kann dann direkt angegeben werden, wenn Sie einen Vertex AI-Test initialisieren, eine Testausführung starten oder den Trainingscode konfigurieren.

Vertex AI SDK für Python

Erstellen Sie eine Vertex AI TensorBoard-Instanz mit dem Vertex AI SDK für 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: Die PROJECT_ID des Projekts, in dem Sie die TensorBoard-Instanz erstellen möchten.
  • display_name: Ein beschreibender Name für die Vertex AI TensorBoard-Instanz.
  • location: Die Region, in der Sie die TensorBoard-Instanz erstellen möchten. Siehe Liste der verfügbaren Standorte Sie müssen eine Region verwenden, die TensorBoard unterstützt.

Google Cloud CLI

Erstellen Sie mit der Google Cloud CLI eine Vertex AI TensorBoard-Instanz.

  1. gcloud-CLI installieren
  2. Initialisieren Sie die Google Cloud-CLI, indem Sie gcloud init ausführen.
  3. Sehen Sie sich die Befehle an, um die Installation zu bestätigen.
     gcloud ai tensorboards --help 

    Die Befehle beinhalten create, describe, list, update und delete. Bei Bedarf können Sie diese Schritte ausführen, um Standardwerte für Ihr Projekt und Ihre Region festzulegen, bevor Sie fortfahren.
  4. Authentifizieren Sie sich in der gcloud CLI.
    gcloud auth application-default login
  5. Erstellen Sie eine Vertex AI TensorBoard-Instanz, indem Sie einen Projektnamen und einen Anzeigenamen angeben. Es kann einige Minuten dauern, bis dieser Schritt zum ersten Mal in einem Projekt abgeschlossen ist. Notieren Sie sich den Namen der Vertex-AI-TensorBoard-Instanz (z. B. projects/123/locations/us-central1/tensorboards/456), die am Ende des folgenden Befehls ausgegeben wird. Er wird in den nächsten Schritten benötigt.
    gcloud ai tensorboards create --display-name DISPLAY_NAME \
           --project PROJECT_NAME
         

    Ersetzen Sie Folgendes:
    • PROJECT_NAME: Das Projekt, in dem Sie die TensorBoard-Instanz erstellen möchten.
    • DISPLAY_NAME: Ein beschreibender Name für die TensorBoard-Instanz.

Google Cloud Console

Wenn Sie Ihre Vertex AI TensorBoard-Daten verschlüsseln möchten, müssen Sie beim Erstellen der Instanz den CMEK-Schlüssel aktivieren.

Führen Sie die folgenden Schritte aus, um eine CMEK-fähige Vertex AI TensorBoard-Instanz mit der Google Cloud Console zu erstellen.

  1. Wenn Sie Vertex AI zum ersten Mal verwenden oder ein neues Projekt starten, richten Sie Ihr Projekt und Ihre Entwicklungsumgebung ein.
  2. Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Tests auf.

    Zur Seite „Tests“.
  3. Wechseln Sie zum Tab TensorBoard-Instanzen.
  4. Klicken Sie oben auf der Seite auf Erstellen.
  5. Wählen Sie eine Region aus der Drop-down-Liste Region aus.
  6. Optional: Fügen Sie eine Beschreibung hinzu.
  7. (Optional) Wählen Sie unter Verschlüsselung die Option Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) und dann einen vom Kunden verwalteten Schlüssel aus.
  8. Klicken Sie auf Erstellen, um die TensorBoard-Instanz zu erstellen.

TensorBoard-Instanz erstellen

Terraform

Im folgenden Beispiel wird die Terraform-Ressource google_vertex_ai_tensorboard verwendet, um eine unverschlüsselte Vertex AI TensorBoard-Instanz zu erstellen.

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Terraform

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

TensorBoard-Instanz löschen

Durch das Löschen einer TensorBoard-Instanz werden dieses TensorBoard und alle zugehörigen TensorBoard-Tests und TensorBoard-Ausführungen gelöscht. Die Vertex AI-Tests, mit denen die Instanz verknüpft ist, werden nicht gelöscht.

Informationen zum Löschen von einem Vertex AI-Test und seinen zugehörigen Vertex AI TensorBoard-Tests finden Sie unter Test löschen.

Vertex AI SDK für Python

Löschen Sie eine Vertex AI TensorBoard-Instanz mit dem Vertex AI SDK für 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: Geben Sie den TensorBoard-Ressourcennamen an.
  • project: Die PROJECT_ID, in dem sich Ihre TensorBoard-Instanz befindet.
  • location: Die Region, in der sich Ihre TensorBoard-Instanz befindet.

Google Cloud Console

Gehen Sie folgendermaßen vor, um eine Vertex AI TensorBoard-Instanz mithilfe der Google Cloud Console zu löschen:

  1. Rufen Sie im Abschnitt "Vertex AI" der Google Cloud Console die Seite Experimente auf.

    Zur Seite "Experimente"
  2. Wählen Sie den Tab TensorBoard-Instanzen aus. Eine Liste mit TensorBoard-Instanzen wird angezeigt.
  3. Wählen Sie aus und klicken Sie auf Löschen.

TensorBoard-Instanz löschen

Relevante Begriffe

Die Begriffe „TensorBoard-Ressourcenname“ und „TensorBoard-Instanz-ID“ werden in zahlreichen Beispielen referenziert.

TensorBoard-Ressourcenname

Der Name der TensorBoard-Ressource wird verwendet, um die Vertex AI TensorBoard-Instanz vollständig zu identifizieren. Das Format dafür ist:

projects/PROJECT_ID_OR_NUMBER/locations/REGION/tensorboards/TENSORBOARD_INSTANCE_ID

Der TensorBoard-Ressourcenname wird in den Logeinträgen ausgegeben, wenn er mit der gcloud CLI oder dem Vertex AI SDK erstellt wird. Er kann auch erstellt werden, indem die entsprechenden Werte für die Platzhalter angegeben werden.

TensorBoard-Instanz-ID

Die TensorBoard-Instanz-ID ist ein generierter ID-Wert, der einer TensorBoard-Instanz zugeordnet ist. Um die TENSORBOARD_INSTANCE_ID zu finden, rufen Sie in der Google Cloud Console die Seite „Tests” des Vertex AI-Abschnitts auf und wählen Sie den Tab TensorBoard-Instanzen aus.TensorBoard-ID