Caricare i log in Vertex AI TensorBoard

Puoi caricare i log esistenti nell'istanza di Vertex AI TensorBoard che sono stati creati tramite l'addestramento locale, l'addestramento al di fuori della piattaforma di agenti Gemini Enterprise, creati da un collega, sono log di esempio o sono stati 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 Agent Platform per Python per caricare i log di TensorBoard. Puoi caricare i log da qualsiasi ambiente che può connettersi a Google Cloud.

SDK Agent Platform Python

Monitoraggio continuo

Per il monitoraggio continuo, chiama il numero 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 Vertex AI TensorBoard. Al termine dell'addestramento, chiama il numero end_upload_tb_log per terminare il thread di caricamento.

Tieni presente che dopo aver chiamato start_upload_tb_log() il thread verrà mantenuto 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'istruzione try 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 a cui caricare i dati.
  • logdir: la posizione della directory in cui controllare i log di TensorBoard.
  • tensorboard_id: l'ID istanza TensorBoard. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: . Puoi trovare l'ID progetto nella pagina Benvenuto della console Google Cloud .
  • location: la posizione 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 avrà come prefisso questo valore.
  • description: una descrizione della stringa da assegnare all'esperimento.

Accesso una tantum

Caricare i log di TensorBoard

Chiama aiplatform.upload_tb_log per eseguire un caricamento una tantum dei log di TensorBoard. 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: la posizione della directory in cui controllare i log di TensorBoard.
  • tensorboard_id: l'ID istanza TensorBoard. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: . Puoi trovare questi ID progetto nella pagina Benvenuto della console Google Cloud .
  • location: la posizione 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 avrà come prefisso questo valore.
  • description: una descrizione della stringa da assegnare all'esperimento.
  • verbosity: livello di verbosità delle statistiche, un numero intero. Valori supportati: 0 - Non vengono stampate statistiche di caricamento. 1 - Stampa le statistiche di caricamento durante il caricamento dei dati (impostazione predefinita).

Caricare i log del profilo

Chiama aiplatform.upload_tb_log per caricare i log del profilo 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: la posizione della directory in cui controllare i log di TensorBoard.
  • project: . Puoi trovare questi ID progetto nella pagina di benvenuto della console Google Cloud .
  • location: La posizione in cui si trova l'istanza TensorBoard.
  • run_name_prefix: per i dati del profilo, questo è il prefisso di esecuzione. Il formato della directory all'interno di LOG_DIR deve corrispondere al seguente:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • allowed_plugins: un elenco di plug-in aggiuntivi da consentire. Per il caricamento dei dati del profilo, devono essere inclusi "profile"

Interfaccia a riga di comando

  1. (Facoltativo) Crea un ambiente virtuale dedicato per installare la CLI Python di 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 Agent Platform.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. Carica i log di TensorBoard
    1. Serie temporali e dati blob
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
    2. Dati del profilo
      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 Vertex AI TensorBoard.
    • LOG_DIR: La posizione dei log eventi che si trovano 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 del profilo, questo è il prefisso dell'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, la CLI di 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 maggiori informazioni.