Carica i log su Vertex AI TensorBoard

Puoi caricare nella tua istanza Vertex AI TensorBoard i log esistenti creati con l'addestramento locale, con l'addestramento al di fuori di Vertex AI, creati da un collega, di esempio o creati utilizzando un'altra istanza 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 per Python per caricare i log di TensorBoard. Puoi caricare i log da qualsiasi ambiente che può connettersi a Google Cloud.

SDK Vertex AI per 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 i nuovi dati nel e la carica nel tuo esperimento Vertex AI TensorBoard. Al termine dell'addestramento, chiama end_upload_tb_log per terminare il thread dell'utente che ha caricato il video.

Tieni presente che dopo aver chiamato start_upload_tb_log() il tuo thread rimarrà attivo anche se viene generata un'eccezione. Per assicurarti che il thread venga chiuso, inserisci qualsiasi 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 su cui eseguire il caricamento.
  • logdir: il percorso della directory in cui verificare i log di TensorBoard.
  • tensorboard_id: l'ID dell'istanza TensorFlow. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: il tuo ID progetto. Puoi trovare il tuo ID progetto nel Console Google Cloud pagina di benvenuto.
  • location: la posizione in cui si trova l'istanza TensorBoard.
  • experiment_display_name: il nome visualizzato dell'esperimento.
  • run_name_prefix: se presente, tutte le esecuzioni create da questa chiamata avranno il nome preceduto da questo valore.
  • description: una descrizione di 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 nella logdir e quindi 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 i log di TensorBoard.
  • tensorboard_id: l'ID dell'istanza TensorFlow. Se non è impostato, viene utilizzato tensorboard_id in aiplatform.init.
  • project: il tuo ID progetto. Puoi trovare questi ID progetto Console Google Cloud pagina di benvenuto.
  • location: la posizione in cui si trova l'istanza TensorBoard.
  • experiment_display_name: il nome visualizzato dell'esperimento.
  • run_name_prefix: se presente, tutte le esecuzioni create da questa chiamata avranno il nome preceduto da questo valore.
  • description: una descrizione della stringa da assegnare all'esperimento.
  • verbosity: livello di dettaglio delle statistiche, un numero intero. Supportato valori: 0 - Non vengono stampate le statistiche di caricamento. 1 - Stampa le statistiche di caricamento durante il caricamento dei dati (impostazione predefinita).

Carica 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: il tuo ID progetto. 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, si tratta del prefisso dell'esecuzione. Il formato della directory in 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 caricare i dati del profilo, è necessario includere "profile"

Interfaccia a riga di comando gcloud

  1. (Facoltativo) Crea un ambiente virtuale dedicato per installare il riga di comando Python per l'uploader di TensorBoard di Vertex AI.
    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 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 TensorFlow 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, si tratta del prefisso di esecuzione. La directory all'interno di LOG_DIR deve corrispondere al seguente:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

Per impostazione predefinita, la CLI di uploader viene eseguita a tempo indeterminato, monitora le modifiche apportate a LOG_DIR e carica i log appena aggiunti. --one_shot=True disattiva comportamento degli utenti. Esegui tb-gcp-uploader --help per ulteriori informazioni.