Carica i log su Vertex AI TensorBoard

Puoi caricare sulla tua istanza di Vertex AI TensorBoard i log esistenti creati con l'addestramento locale, l'addestramento al di fuori di Vertex AI, quelli creati da un collega, sono log di esempio o creati utilizzando un'istanza di Vertex AI TensorBoard diversa. I log possono essere condivisi tra più istanze Vertex AI TensorBoard.

Vertex AI TensorBoard offre Google Cloud CLI e l'SDK Vertex AI per Python per il caricamento dei log di TensorBoard. Puoi caricare i log da qualsiasi ambiente in grado di 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 nella directory e li carica nell'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 la chiamata a start_upload_tb_log() il tuo thread verrà mantenuto attivo anche se viene generata un'eccezione. Per assicurarti che il thread venga arrestato, inserisci qualsiasi codice dopo start_upload_tb_log() e prima di end_upload_tb_log() in un'istruzione try, quindi chiama end_upload_tb_log() in finally.

Python

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: la posizione della directory in cui verificare i log di TensorBoard.
  • tensorboard_id: l'ID istanza TensorBoard. Se non viene configurato, viene utilizzato l'attributo tensorboard_id in aiplatform.init.
  • project: il tuo ID progetto. Puoi trovare l'ID progetto nella pagina di benvenuto della console Google Cloud.
  • location: la regione 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 stringa da assegnare all'esperimento.

Logging una tantum

Carica 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 directory log e restituisce immediatamente i dati.

Python

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 verificare i log di TensorBoard.
  • tensorboard_id: l'ID istanza TensorBoard. Se non viene configurato, viene utilizzato l'attributo tensorboard_id in aiplatform.init.
  • project: il tuo ID progetto. Puoi trovare questi ID progetto nella pagina di benvenuto della console Google Cloud.
  • location: la regione 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 stringa da assegnare all'esperimento.
  • verbosity: livello di dettaglio delle statistiche, un numero intero. Valori supportati: 0 - Non vengono stampate le statistiche di caricamento. 1 - Stampa le statistiche di caricamento durante il caricamento dei dati (impostazione predefinita).

Carica log del profilo

Chiama il numero aiplatform.upload_tb_log per caricare i log del profilo TensorBoard in un esperimento.

Python

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 verificare i log di TensorBoard.
  • project: il tuo ID progetto. Puoi trovare questi ID progetto nella pagina di benvenuto della console Google Cloud.
  • location: la regione in cui si trova l'istanza TensorBoard.
  • run_name_prefix: per i dati del profilo, si tratta del 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 il caricamento dei dati del profilo, è necessario includere "profile"

Interfaccia a riga di comando gcloud

  1. (Facoltativo) Crea un ambiente virtuale dedicato per installare l'interfaccia a riga di comando Python dell'Uploader 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 relativi a 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 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, si tratta del 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 dell'uploader funziona a tempo indeterminato, monitora le modifiche in LOG_DIR e carica i log appena aggiunti. --one_shot=True disabilita il comportamento. Esegui tb-gcp-uploader --help per ulteriori informazioni.