Mengupload log ke Vertex AI TensorBoard

Anda dapat mengupload log yang ada ke instance Vertex AI TensorBoard yang dibuat dengan pelatihan secara lokal, pelatihan di luar Vertex AI, dibuat oleh rekan kerja, merupakan contoh log, atau dibuat menggunakan instance Vertex AI TensorBoard yang berbeda. Log dapat dibagikan di antara beberapa instance Vertex AI TensorBoard.

Vertex AI TensorBoard menawarkan Google Cloud CLI dan Vertex AI SDK untuk Python untuk mengupload log TensorBoard. Anda dapat mengupload log dari lingkungan mana pun yang dapat terhubung ke Google Cloud.

Vertex AI SDK untuk Python

Pemantauan berkelanjutan

Untuk pemantauan berkelanjutan, panggil aiplatform.start_upload_tb_log di awal pelatihan. SDK akan membuka thread baru untuk mengupload. Thread ini memantau data baru di direktori, dan menguploadnya ke eksperimen Vertex AI TensorBoard Anda. Setelah pelatihan selesai, panggil end_upload_tb_log untuk mengakhiri thread uploader.

Perhatikan bahwa setelah memanggil start_upload_tb_log(), thread Anda akan tetap aktif meskipun pengecualian ditampilkan. Untuk memastikan thread dinonaktifkan, masukkan kode apa pun setelah start_upload_tb_log() dan sebelum end_upload_tb_log() dalam pernyataan try, lalu panggil end_upload_tb_log() di finally.

Vertex AI SDK untuk 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: Nama eksperimen TensorBoard yang akan diupload.
  • logdir: Lokasi direktori untuk memeriksa log TensorBoard.
  • tensorboard_id: ID instance TensorBoard. Jika tidak ditetapkan, tensorboard_id di aiplatform.init akan digunakan.
  • project: Project ID Anda. Anda dapat menemukan Project ID di halaman sambutan Konsol Google Cloud.
  • location: Lokasi tempat instance TensorBoard Anda berada.
  • experiment_display_name: Nama tampilan eksperimen.
  • run_name_prefix: Jika ada, semua operasi yang dibuat oleh pemanggilan ini akan diberi awalan oleh nilai ini.
  • description: Deskripsi string yang akan ditetapkan ke eksperimen.

Logging satu kali

Mengupload log TensorBoard

Panggil aiplatform.upload_tb_log untuk melakukan upload satu kali log TensorBoard. Fungsi ini mengupload data yang ada di logdir, lalu segera kembali.

Vertex AI SDK untuk 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: Nama eksperimen TensorBoard.
  • logdir: Lokasi direktori untuk memeriksa log TensorBoard.
  • tensorboard_id: ID instance TensorBoard. Jika tidak ditetapkan, tensorboard_id di aiplatform.init akan digunakan.
  • project: Project ID Anda. Anda dapat menemukan Project ID ini di halaman sambutan Konsol Google Cloud.
  • location: Lokasi tempat instance TensorBoard Anda berada.
  • experiment_display_name: Nama tampilan eksperimen.
  • run_name_prefix: Jika ada, semua operasi yang dibuat oleh pemanggilan ini akan diberi awalan oleh nilai ini.
  • description: Deskripsi string yang akan ditetapkan ke eksperimen.
  • verbosity: Tingkat panjang statistik, bilangan bulat. Nilai yang didukung: 0 - Tidak ada statistik upload yang akan dicetak. 1 - Mencetak statistik upload saat mengupload data (default).

Mengupload log profil

Panggil aiplatform.upload_tb_log untuk mengupload log profil TensorBoard ke eksperimen.

Vertex AI SDK untuk 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: Nama eksperimen TensorBoard.
  • logdir: Lokasi direktori untuk memeriksa log TensorBoard.
  • project: Project ID Anda. Anda dapat menemukan Project ID ini di halaman sambutan Konsol Google Cloud.
  • location: Lokasi tempat instance TensorBoard Anda berada.
  • run_name_prefix: Untuk data profil, ini adalah awalan run. Format direktori dalam LOG_DIR harus cocok dengan format berikut:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • allowed_plugins: Daftar plugin tambahan yang akan diizinkan. Untuk mengupload data profil, ini harus menyertakan "profile"

gcloud CLI

  1. (Opsional) Buat lingkungan virtual khusus untuk menginstal Python CLI upload Vertex AI TensorBoard.
    python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
    source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
    • PATH/TO/VIRTUAL/ENVIRONMENT: lingkungan virtual khusus Anda.
  2. Instal paket Vertex AI TensorBoard melalui Vertex AI SDK.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. Mengupload log TensorBoard
    1. Data Deret Waktu dan Blob
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
    2. Data Profil
      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: Nama Resource TensorBoard yang digunakan untuk mengidentifikasi instance Vertex AI TensorBoard sepenuhnya.
    • LOG_DIR: Lokasi log peristiwa yang berada di sistem file lokal atau Cloud Storage
    • TB_EXPERIMENT_NAME: Nama eksperimen TensorBoard, misalnya test-experiment.
    • RUN_NAME_PREFIX: Untuk data profil, ini adalah awalan run. Format direktori dalam LOG_DIR harus cocok dengan format berikut:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

CLI uploader secara default berjalan tanpa batas waktu, memantau perubahan di LOG_DIR, dan mengupload log yang baru ditambahkan. --one_shot=True menonaktifkan perilaku tersebut. Jalankan tb-gcp-uploader --help untuk mengetahui informasi selengkapnya.