Sube registros a Vertex AI TensorBoard

Puedes subir registros existentes a tu instancia de Vertex AI TensorBoard que se crearon mediante un entrenamiento local, un entrenamiento fuera de Vertex AI, que creó un colega, que son registros de ejemplo o que se crearon con una instancia de Vertex AI TensorBoard diferente. Los registros se pueden compartir entre varias instancias de Vertex AI TensorBoard.

Vertex AI TensorBoard ofrece Google Cloud CLI y el SDK de Vertex AI para Python a fin de subir registros de TensorBoard. Puedes subir registros desde cualquier entorno que pueda conectarse a Google Cloud.

SDK de Vertex AI para Python

Supervisión continua

Para la supervisión continua, llama a aiplatform.start_upload_tb_log al comienzo del entrenamiento. El SDK abre un nuevo subproceso para la carga. Este subproceso supervisa los datos nuevos en el directorio y los sube a tu experimento de Vertex AI TensorBoard. Cuando se complete el entrenamiento, llama a end_upload_tb_log para finalizar el subproceso del cargador.

Ten en cuenta que, después de llamar a start_upload_tb_log(), tu subproceso se mantendrá activo, incluso si se genera una excepción. Para asegurarte de que el subproceso se cierre, coloca cualquier código después de start_upload_tb_log() y antes de end_upload_tb_log() en una sentencia try, y llama a end_upload_tb_log() en 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: El nombre del experimento de TensorBoard al que se subirá.
  • logdir: La ubicación del directorio que se debe verificar para los registros de TensorBoard.
  • tensorboard_id: El ID de instancia de TensorBoard. Si no se establece, se usa el tensorboard_id en aiplatform.init.
  • project: El ID del proyecto. Puedes encontrar el ID del proyecto en la página de bienvenida de la consola de Google Cloud.
  • location: La región en la que se encuentra la instancia de TensorBoard.
  • experiment_display_name: Es el nombre visible del experimento.
  • run_name_prefix: Si está presente, todas las ejecuciones creadas por esta invocación tendrán su nombre con el prefijo de este valor.
  • description: Una descripción de cadena para asignar al experimento.

Registro único

Sube registros de TensorBoard

Llama a aiplatform.upload_tb_log para realizar una carga única de registros de TensorBoard. Esto sube los datos existentes en el directorio de registro y, luego, los muestra de inmediato.

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: El nombre del experimento de TensorBoard.
  • logdir: La ubicación del directorio que se debe verificar para los registros de TensorBoard.
  • tensorboard_id: El ID de instancia de TensorBoard. Si no se establece, se usa el tensorboard_id en aiplatform.init.
  • project: El ID del proyecto. Puedes encontrar estos IDs en la página de bienvenida de la consola de Google Cloud.
  • location: La región en la que se encuentra la instancia de TensorBoard.
  • experiment_display_name: Es el nombre visible del experimento.
  • run_name_prefix: Si está presente, todas las ejecuciones creadas por esta invocación tendrán su nombre con el prefijo de este valor.
  • description: Una descripción de cadena para asignar al experimento.
  • verbosity: El nivel de verbosidad de las estadísticas, un número entero. Valores admitidos: 0 - No se imprimen estadísticas de carga. 1 - Imprime estadísticas de carga mientras se suben datos (predeterminado).

Sube registros de perfil

Llama a aiplatform.upload_tb_log para subir los registros de perfil de TensorBoard a un experimento.

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: El nombre del experimento de TensorBoard.
  • logdir: La ubicación del directorio que se debe verificar para los registros de TensorBoard.
  • project: El ID del proyecto. Puedes encontrar estos IDs del proyecto en la página de bienvenida de la consola de Google Cloud.
  • location: La región en la que se encuentra la instancia de TensorBoard.
  • run_name_prefix: Para los datos de perfil, este es el prefijo de ejecución. El formato del directorio dentro de LOG_DIR debe coincidir con el siguiente formato:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • allowed_plugins: Una lista de complementos adicionales para permitir. Para subir datos de perfil, se debe incluir "profile".

CLI de gcloud

  1. Crea un entorno virtual dedicado para instalar la CLI de Python del cargador de Vertex AI TensorBoard (opcional).
    python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
    source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
    
    • PATH/TO/VIRTUAL/ENVIRONMENT: Es tu entorno virtual dedicado.
  2. Instala el paquete de Vertex AI TensorBoard mediante el SDK de Vertex AI
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
    
  3. Sube registros de TensorBoard
    1. Series temporales y datos BLOB
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
      
    2. Datos de perfil
      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: El nombre del recurso de TensorBoard que se usa para identificar por completo la instancia de Vertex AI TensorBoard.
    • LOG_DIR: Es la ubicación de los registros de eventos, que se encuentra en el sistema de archivos local o en Cloud Storage.
    • TB_EXPERIMENT_NAME: El nombre del experimento de TensorBoard, por ejemplo test-experiment.
    • RUN_NAME_PREFIX: Para los datos de perfil, este es el prefijo de ejecución. El formato del directorio dentro de LOG_DIR debe coincidir con lo siguiente:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

De forma predeterminada, la CLI del cargador se ejecuta de forma indefinida, supervisa los cambios en LOG_DIR y sube los registros recién agregados. --one_shot=True inhabilita el comportamiento. Ejecuta tb-gcp-uploader --help para más información.