Vertex AI TensorBoard einrichten

Für die Einrichtung von Vertex AI TensorBoard sind Folgendes 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
    

    Ersetzen Sie dabei Folgendes:

    • PROJECT_ID: die ID 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 verwenden, muss der Standort des Buckets mit dem Standort übereinstimmen, an dem Ihre Vertex AI TensorBoard-Instanz erstellt wurde.

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

Ersetzen Sie LOCATION_ID durch den Standort, an dem 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 innerhalb eines Projekts und einer Region mehrere Instanzen erstellen. Die meisten Nutzer benötigen jedoch nur eine einzige Instanz.

Standard-Vertex AI TensorBoard-Instanz verwenden

Beim Initialisieren eines Vertex AI-Tests wird automatisch eine Standard-TensorBoard-Instanz erstellt. Dieses unterstützende TensorBoard ist mit dem Vertex AI-Test verknüpft und wird für alle nachfolgenden Vertex AI-Testausführungen verwendet. Die tensorboard_resource_name kann direkt aus dem Test abgerufen werden. Dies ist der einfachste Einstieg in Vertex AI TensorBoard und sollte den Anforderungen der meisten Nutzer entsprechen.

Vertex AI SDK für Python

Erstellen Sie mit dem Vertex AI SDK für Python einen Vertex AI TensorBoard-Test mit einer Standardinstanz. Rufen Sie die tensorboard_resource_name aus dem Test ab. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI SDK unter init und Experiment.

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: Der Name Ihres Tests.
  • experiment_description: Eine Beschreibung des Tests.
  • project: Der PROJECT_ID des Projekts, in dem Sie die TensorBoard-Instanz erstellen möchten.
  • location: Der Speicherort, an dem Sie Ihre TensorBoard-Instanz erstellen möchten. Der Vertex AI TensorBoard-Standort ist regional. Wählen Sie eine Region aus, die Vertex AI 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: Der Speicherort, an dem Sie Ihre TensorBoard-Instanz erstellen möchten. Der Vertex AI TensorBoard-Standort ist regional. Wählen Sie eine Region aus , die Vertex AI 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 Ihren Standort 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 einen Standort 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 nicht verschlü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

Wenn Sie eine TensorBoard-Instanz löschen, 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: Der Standort, an dem 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 der TensorBoard-Instanzen wird angezeigt.
  3. Wählen Sie aus und klicken Sie auf Löschen.

delete tensorboard instance

Relevante Begriffe

Auf diese Begriffe, „TensorBoard-Ressourcenname“ und „TensorBoard-Instanz-ID“ wird in zahlreichen Beispielen verwiesen.

Name der TensorBoard-Ressource

Mit dem TensorBoard-Ressourcennamen wird die Vertex AI TensorBoard-Instanz vollständig identifiziert. 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.

Vertex AI SDK für Python

Der Name der TensorBoard-Ressource kann mit dem Vertex AI SDK aus einem Vertex AI-Test abgerufen werden.

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: Der Name Ihres Tests.
  • project: Die PROJECT_ID Ihres Tests.
  • location: Der Standort, an dem sich der Test befindet.

TensorBoard-Instanz-ID

Die TensorBoard-Instanz-ID ist ein generierter ID-Wert, der mit einer TensorBoard-Instanz verknüpft ist. Um TENSORBOARD_INSTANCE_ID zu finden, rufen Sie in der Google Cloud Console den Abschnitt „Tests“ von Vertex AI auf und wählen Sie den Tab TensorBoard-Instanzen aus.

Sie können die Instanz-ID auch aus dem TensorBoard-Ressourcennamen abrufen. TensorBoard-ID