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 Gemini Enterprise Agent Platform 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 Agent Platform SDK für Python zum Hochladen von TensorBoard-Logs. Sie können Logs aus jeder Umgebung hochladen, die eine Verbindung zu Cloud de Confiance by S3NSherstellen kann.

Agent Platform 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: . Sie finden die Projekt-ID auf der Cloud de Confiance Console Begrüßungsseite.
  • 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: . Sie finden die Projekt-IDs auf der Cloud de Confiance Console Begrüßungsseite.
  • 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: . Sie finden die Projekt-IDs auf der Cloud de Confiance Console-Begrüßungsseite.
  • 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"

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 Agent Platform TensorBoard-Paket über das Agent Platform SDK.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. TensorBoard-Logs 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.