Caricare i log in Vertex AI TensorBoard

Puoi caricare i log esistenti nella tua istanza di Vertex AI TensorBoard creati durante l'addestramento in locale, l'addestramento al di fuori di Vertex AI, creati da un collega, log di esempio o creati utilizzando un'altra istanza di Vertex AI TensorBoard. I log possono essere condivisi tra più istanze di Vertex AI TensorBoard.

Vertex AI TensorBoard offre Google Cloud CLI e l'SDK Vertex AI Python per caricare i log di TensorBoard. Puoi caricare i log da qualsiasi ambiente in grado di connettersi a Google Cloud.

SDK Vertex AI Python

Monitoraggio continuo

Per il monitoraggio continuo, chiama aiplatform.start_upload_tb_log all'inizio dell'addestramento. L'SDK apre un nuovo thread per il caricamento. Questo thread monitora la presenza di nuovi dati nella directory e li carica nell'esperimento di Vertex AI TensorBoard. Al termine dell'addestramento, chiama end_upload_tb_log per terminare il thread di caricamento.

Tieni presente che dopo aver chiamato start_upload_tb_log(), il thread rimarrà attivo anche se viene generata un'eccezione. Per assicurarti che il thread venga chiuso, inserisci il codice dopo start_upload_tb_log() e prima di end_upload_tb_log() in un' try istruzione e chiama end_upload_tb_log() in finally.

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: il nome dell'esperimento TensorBoard in cui eseguire il caricamento.
  • logdir: il percorso della directory in cui verificare la presenza di log di TensorBoard.
  • tensorboard_id: l'ID dell'istanza TensorBoard. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: . Puoi trovare l'ID progetto nella Google Cloud console pagina di benvenuto.
  • location: la località in cui si trova l'istanza TensorBoard.
  • experiment_display_name: il nome visualizzato dell'esperimento.
  • run_name_prefix: se presente, il nome di tutte le esecuzioni create da questa chiamata sarà preceduto da questo valore.
  • description: una descrizione stringa da assegnare all'esperimento.

Registrazione una tantum

Carica i log di TensorBoard

Chiama aiplatform.upload_tb_log per eseguire un caricamento una tantum dei log di TensorBoard. Questa operazione carica i dati esistenti in logdir e poi restituisce immediatamente.

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: il nome dell'esperimento TensorBoard.
  • logdir: il percorso della directory in cui verificare la presenza di log di TensorBoard.
  • tensorboard_id: l'ID dell'istanza TensorBoard. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: . Puoi trovare questi ID progetto nella Google Cloud console pagina di benvenuto.
  • location: la località in cui si trova l'istanza TensorBoard.
  • experiment_display_name: il nome visualizzato dell'esperimento.
  • run_name_prefix: se presente, il nome di tutte le esecuzioni create da questa chiamata sarà preceduto da questo valore.
  • description: una descrizione stringa da assegnare all'esperimento.
  • verbosity: livello di verbosità delle statistiche, un numero intero. Valori supportati valori: 0 - Non vengono stampate statistiche di caricamento. 1 - Stampa le statistiche di caricamento durante il caricamento dei dati (impostazione predefinita).

Carica i log dei profili

Chiama aiplatform.upload_tb_log per caricare i log dei profili di TensorBoard in un esperimento.

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: il nome dell'esperimento TensorBoard.
  • logdir: il percorso della directory in cui verificare la presenza di log di TensorBoard.
  • project: . Puoi trovare questi ID progetto nella Google Cloud console di benvenuto pagina.
  • location: la località in cui si trova l'istanza TensorBoard.
  • run_name_prefix: per i dati dei profili, questo è il prefisso di esecuzione. Il formato della directory all'interno di LOG_DIR deve corrispondere a quanto segue:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • allowed_plugins: un elenco di plug-in aggiuntivi da consentire. Per caricare i dati dei profili, deve includere "profile"

CLI

  1. (Facoltativo) Crea un ambiente virtuale dedicato per installare l'interfaccia a riga di comando Python per il caricamento di Vertex AI TensorBoard
    python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
    source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
    • PATH/TO/VIRTUAL/ENVIRONMENT: il tuo ambiente virtuale dedicato.
  2. Installa il pacchetto Vertex AI TensorBoard tramite l'SDK Vertex AI.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. Carica i log di TensorBoard
    1. Dati di serie temporali e blob
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
    2. Dati dei profili
      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: il nome della risorsa TensorBoard utilizzato per identificare completamente l'istanza di Vertex AI TensorBoard.
    • LOG_DIR: la posizione dei log degli eventi che si trova nel file system locale o in Cloud Storage
    • TB_EXPERIMENT_NAME: il nome dell'esperimento TensorBoard, ad esempio test-experiment.
    • RUN_NAME_PREFIX: per i dati dei profili, questo è il prefisso di esecuzione. Il formato della directory all'interno di LOG_DIR deve corrispondere a quanto segue:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

Per impostazione predefinita, l'interfaccia a riga di comando per il caricamento viene eseguita a tempo indeterminato, monitorando le modifiche in LOG_DIR e caricando i log appena aggiunti. --one_shot=True disabilita il comportamento. Esegui tb-gcp-uploader --help per ulteriori informazioni.