Protokolle in Vertex AI TensorBoard hochladen

Sie können vorhandene Logs in Ihre Vertex AI TensorBoard-Instanz hochladen, die durch lokales Training oder Training außerhalb von Vertex AI erstellt wurden, von einem Kollegen erstellt wurden, bei denen es sich um Beispiel-Logs handelt oder die mit einer anderen Vertex AI TensorBoard-Instanz erstellt wurden. Protokolle können für mehrere Vertex AI TensorBoard-Instanzen freigegeben werden.

Vertex AI TensorBoard bietet die Google Cloud CLI und das Vertex AI SDK für Python zum Hochladen von TensorBoard-Logs. Sie können Logs aus jeder Umgebung hochladen, mit der sich eine Verbindung zu Google Cloudherstellen lässt.

Vertex AI SDK für Python

Unterbrechungsfreies Monitoring

Für eine kontinuierliche Überwachung rufen Sie aiplatform.start_upload_tb_log zu Beginn des Trainings an. Das SDK öffnet einen neuen Thread für den Upload. Dieser Thread überwacht neue Daten im Verzeichnis und lädt sie in Ihren Vertex AI TensorBoard-Test hoch. Rufen Sie nach Abschluss des Trainings end_upload_tb_log auf, um den Uploader-Thread zu beenden.

Hinweis: Nach dem Aufruf von start_upload_tb_log() bleibt Ihr Thread aktiv, auch wenn eine Ausnahme ausgelöst wird. Damit der Thread heruntergefahren wird, fügen Sie beliebigen Code nach start_upload_tb_log() und vor end_upload_tb_log() in eine try-Anweisung ein und rufen Sie end_upload_tb_log() in finally auf.

Python

from typing import Optional

from google.cloud import aiplatform


def upload_tensorboard_log_continuously_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
) -> None:

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

    # Continuous monitoring
    aiplatform.start_upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )

    try:
        print("Insert your code here")
    finally:
        aiplatform.end_upload_tb_log()

  • tensorboard_experiment_name: Der Name des TensorBoard-Tests, in den hochgeladen werden soll.
  • logdir: Der Verzeichnisstandort, der auf TensorBoard-Logs geprüft werden soll.
  • tensorboard_id: Die TensorBoard-Instanz-ID. Wenn nicht festgelegt, wird die tensorboard_id in aiplatform.init verwendet.
  • project: Ihre Projekt-ID. Sie finden die Projekt-ID auf der Begrüßungsseite der Google Cloud Console.
  • location: Der Standort, an dem sich Ihre TensorBoard-Instanz befindet.
  • experiment_display_name: Der Anzeigename des Tests.
  • run_name_prefix: Wenn vorhanden, wird dem Namen aller Ausführungen, die durch diesen Aufruf erstellt werden, dieser Wert vorangestellt.
  • description: Eine Stringbeschreibung, die dem Test zugewiesen werden soll.

Einmaliges Logging

TensorBoard-Logs hochladen

aiplatform.upload_tb_log aufrufen, um einen einmaligen Upload von TensorBoard-Logs durchzuführen. Dadurch werden vorhandene Daten in das Logdir hochgeladen und dann sofort zurückgegeben.

Python

from typing import Optional

from google.cloud import aiplatform


def upload_tensorboard_log_one_time_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
    verbosity: Optional[int] = 1,
) -> None:

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

    # one time upload
    aiplatform.upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )

  • tensorboard_experiment_name: Der Name des TensorBoard-Tests.
  • logdir: Der Verzeichnisstandort, der auf TensorBoard-Logs geprüft werden soll.
  • tensorboard_id: Die TensorBoard-Instanz-ID. Wenn nicht festgelegt, wird die tensorboard_id in aiplatform.init verwendet.
  • project: Ihre Projekt-ID. Sie finden die Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Der Standort, an dem sich Ihre TensorBoard-Instanz befindet.
  • experiment_display_name: Der Anzeigename des Tests.
  • run_name_prefix: Wenn vorhanden, wird dem Namen aller Ausführungen, die durch diesen Aufruf erstellt werden, dieser Wert vorangestellt.
  • description: Eine Stringbeschreibung, die dem Test zugewiesen werden soll.
  • verbosity: Ausführlichkeitsstufe der Statistiken, eine Ganzzahl. Unterstützter Wert: 0 – Es werden keine Uploadstatistiken ausgegeben. 1 - Uploadstatistiken beim Hochladen von Daten ausgeben (Standardeinstellung).

Profil-Logs hochladen

aiplatform.upload_tb_log aufrufen, um TensorBoard-Profil-Logs in einen Test hochzuladen.

Python

from typing import FrozenSet

from google.cloud import aiplatform


def upload_tensorboard_profile_logs_to_experiment_sample(
    experiment_name: str,
    logdir: str,
    project: str,
    location: str,
    run_name_prefix: str,
    allowed_plugins: FrozenSet[str] = ["profile"],
) -> None:

    aiplatform.init(project=project, location=location, experiment=experiment_name)

    # one time upload
    aiplatform.upload_tb_log(
        tensorboard_experiment_name=experiment_name,
        logdir=logdir,
        run_name_prefix=run_name_prefix,
        allowed_plugins=allowed_plugins,
    )

  • experiment_name: Der Name des TensorBoard-Tests.
  • logdir: Der Verzeichnisstandort, der auf TensorBoard-Logs geprüft werden soll.
  • project: Ihre Projekt-ID. Sie finden diese Projekt-IDs auf der Begrüßungsseite der Google Cloud Console.
  • location: Der Standort, an dem sich Ihre TensorBoard-Instanz befindet.
  • run_name_prefix: Bei Profildaten ist dies das Laufpräfix. Das Verzeichnisformat in LOG_DIR sollte Folgendem entsprechen:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • allowed_plugins: Eine Liste der zusätzlichen Plugins, die zugelassen werden sollen. Beim Hochladen von Profildaten sollte dies "profile"

gcloud-CLI

  1. Optional: Erstellen Sie eine dedizierte virtuelle Umgebung, um die Python-Befehlszeile des Vertex AI TensorBoard-Uploaders zu installieren.
    python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
    source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
    • PATH/TO/VIRTUAL/ENVIRONMENT: Ihre eigene virtuelle Umgebung.
  2. Installieren Sie das Vertex AI TensorBoard-Paket über das Vertex AI SDK.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. TensorBoard-Protokolle hochladen
    1. Zeitreihen- und Blob-Daten
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
    2. Profildaten
      tb-gcp-uploader \
      --tensorboard_resource_name TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR --experiment_name=TB_EXPERIMENT_NAME \
      --allowed_plugins="profile" --run_name_prefix=RUN_NAME_PREFIX \
      --one_shot=True
    • TENSORBOARD_RESOURCE_NAME: Der TensorBoard-Ressourcenname, mit dem die Vertex AI TensorBoard-Instanz vollständig identifiziert wird.
    • LOG_DIR: Der Speicherort der Ereignislogs, die sich entweder im lokalen Dateisystem oder in Cloud Storage befinden
    • TB_EXPERIMENT_NAME: Der Name des TensorBoard-Tests, z. B. test-experiment.
    • RUN_NAME_PREFIX: Bei Profildaten ist dies das Laufpräfix. Das Verzeichnisformat in LOG_DIR sollte Folgendem entsprechen:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

Die Uploader-Befehlszeile wird standardmäßig unbegrenzt ausgeführt, überwacht die Änderungen in LOG_DIR und lädt neu hinzugefügte Logs hoch. --one_shot=True deaktiviert das Verhalten. Führen Sie tb-gcp-uploader --help aus, um weitere Informationen zu erhalten.