Mencatat data secara manual ke operasi eksperimen

Untuk keperluan logging, gunakan Vertex AI SDK untuk Python.

Metrik dan parameter yang didukung:

  • metrik ringkasan
  • metrik deret waktu
  • parameter
  • metrik klasifikasi

Vertex AI SDK untuk Python

Catatan: Jika parameter resume opsional ditentukan sebagai TRUE, operasi yang dimulai sebelumnya akan dilanjutkan. Jika tidak ditentukan, resume ditetapkan secara default ke FALSE dan operasi baru akan dibuat.

Contoh berikut menggunakan metode init, dari fungsi aiplatform.

Metrik ringkasan

Metrik ringkasan adalah metrik skalar nilai tunggal yang disimpan di sebelah metrik deret waktu dan merepresentasikan ringkasan akhir dari sebuah operasi eksperimen.

Salah satu contoh kasus penggunaan adalah penghentian awal saat konfigurasi kesabaran memungkinkan pelatihan berkelanjutan, tetapi model kandidat dipulihkan dari langkah sebelumnya dan metrik yang dihitung untuk model pada langkah tersebut akan direpresentasikan sebagai metrik ringkasan karena metrik deret waktu terbaru tidak mewakili model yang dipulihkan. log_metrics API untuk metrik ringkasan digunakan untuk tujuan ini.

Python

from typing import Dict

from google.cloud import aiplatform


def log_metrics_sample(
    experiment_name: str,
    run_name: str,
    metrics: Dict[str, float],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name)

    aiplatform.log_metrics(metrics)

  • experiment_name: Berikan nama untuk eksperimen Anda. Anda dapat menemukan daftar eksperimen di Konsol Google Cloud dengan memilih Experiments di navigasi bagian.
  • run_name: Tentukan nama operasi (lihat start_run).
  • metric: Key-value pair metrik. Contoh: {'learning_rate': 0.1}
  • project: Project ID Anda. Anda dapat menemukannya di halaman sambutan Konsol Google Cloud.
  • location: Lihat Daftar lokasi yang tersedia

Metrik deret waktu

Untuk mencatat metrik deret waktu, Vertex AI Experiment memerlukan instance Vertex AI TensorBoard pendukung.

Menetapkan resource Vertex AI TensorBoard pendukung untuk Pencatatan Metrik Deret Waktu

Semua metrik yang dicatat melalui log_time_series_metrics disimpan sebagai metrik deret waktu. Vertex AI TensorBoard adalah penyimpanan metrik deret waktu pendukung.

experiment_tensorboard dapat ditetapkan di tingkat eksperimen dan operasi eksperimen. Menetapkan experiment_tensorboard di tingkat operasi akan mengabaikan setelan di tingkat eksperimen. Setelah experiment_tensorboard ditetapkan di sebuah operasi, experiment_tensorboard operasi tersebut tidak dapat diubah.

  • Tetapkan experiment_tensorboard di tingkat eksperimen:
      aiplatform.init(experiment='my-experiment',
                   experiment_tensorboard='projects/.../tensorboard/my-tb-resource')
  • Tetapkan experiment_tensorboard di tingkat operasi. Catatan: Mengabaikan setelan di tingkat eksperimen.
      aiplatform.start_run(run_name='my-other-run',
                        tensorboard='projects/.../.../other-resource')
    aiplatform.log_time_series_metrics(...)

Python

from typing import Dict, Optional

from google.cloud import aiplatform
from google.protobuf import timestamp_pb2


def log_time_series_metrics_sample(
    experiment_name: str,
    run_name: str,
    metrics: Dict[str, float],
    step: Optional[int],
    wall_time: Optional[timestamp_pb2.Timestamp],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_time_series_metrics(metrics=metrics, step=step, wall_time=wall_time)

  • experiment_name: Masukkan nama eksperimen Anda. Anda dapat menemukan daftar eksperimen di Konsol Google Cloud dengan memilih Experiments di navigasi bagian.
  • run_name: Tentukan nama operasi (lihat start_run).
  • metrics: Kamus yang menentukan kunci sebagai nama metrik dan nilai sebagai nilai metrik.
  • step: Opsional. Indeks langkah titik data ini dalam operasi tersebut.
  • wall_time: Opsional. Stempel waktu proses saat titik data ini dibuat oleh pengguna akhir. Jika tidak disediakan, wall_time akan dibuat berdasarkan nilai dari time.time()
  • project: Project ID Anda. Anda dapat menemukannya di halaman sambutan Konsol Google Cloud.
  • location: Lihat Daftar lokasi yang tersedia

Langkah dan waktu proses

API log_time_series_metrics secara opsional menerima step dan walltime.

  • step: Opsional. Indeks langkah titik data ini dalam operasi tersebut. Jika tidak disediakan, kenaikan dari langkah terakhir pada semua metrik deret waktu yang sudah dicatat akan digunakan. Jika langkah tersebut ada untuk salah satu kunci metrik yang disediakan, langkah tersebut akan ditimpa.
  • wall_time: Opsional. Detik setelah epoch metrik yang dicatat. Jika tidak disediakan, default-nya adalah time.time Python.

Contoh:

aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00})
Mencatat ke langkah tertentu
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=8)
Mencakup wall_time
aiplatform.log_time_series_metrics({"mse": 2500.00, "rmse": 50.00}, step=10)

Parameter

Parameter adalah nilai input dengan kunci yang mengonfigurasi operasi, mengatur perilaku operasi, dan memengaruhi hasil operasi. Contohnya termasuk kecepatan pembelajaran, tingkat putus sekolah, dan jumlah langkah pelatihan. Mencatat parameter ke dalam log menggunakan metode log_params.

Python

from typing import Dict, Union

from google.cloud import aiplatform


def log_params_sample(
    experiment_name: str,
    run_name: str,
    params: Dict[str, Union[float, int, str]],
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_params(params)

aiplatform.log_params({"learning_rate": 0.01, "n_estimators": 10})
  • experiment_name: Berikan nama untuk eksperimen Anda. Anda dapat menemukan daftar eksperimen di Konsol Google Cloud dengan memilih Experiments di navigasi bagian.
  • run_name: Tentukan nama operasi (lihat start_run).
  • params: Key-value pair parameter. Misalnya: {'accuracy': 0.9} (lihat log_params). halaman sambutan.
  • location: Lihat Daftar lokasi yang tersedia

Metrik klasifikasi

Selain metrik ringkasan dan metrik deret waktu, matriks konfusi dan kurva ROC merupakan metrik yang umum digunakan. Metrik ini dapat dicatat ke Vertex AI Experiments menggunakan log_classification_metrics API.

Python

from typing import List, Optional

from google.cloud import aiplatform


def log_classification_metrics_sample(
    experiment_name: str,
    run_name: str,
    project: str,
    location: str,
    labels: Optional[List[str]] = None,
    matrix: Optional[List[List[int]]] = None,
    fpr: Optional[List[float]] = None,
    tpr: Optional[List[float]] = None,
    threshold: Optional[List[float]] = None,
    display_name: Optional[str] = None,
) -> None:
    aiplatform.init(experiment=experiment_name, project=project, location=location)

    aiplatform.start_run(run=run_name, resume=True)

    aiplatform.log_classification_metrics(
        labels=labels,
        matrix=matrix,
        fpr=fpr,
        tpr=tpr,
        threshold=threshold,
        display_name=display_name,
    )

  • experiment_name: Berikan nama untuk eksperimen Anda. Anda dapat menemukan daftar eksperimen di Konsol Google Cloud dengan memilih Experiments di navigasi bagian.
  • run_name: Tentukan nama operasi (lihat start_run).
  • project: Project ID Anda. Anda dapat menemukannya di halaman sambutan Konsol Google Cloud.
  • location: Lihat Daftar lokasi yang tersedia.
  • labels: Daftar nama label untuk matriks konfusi. Harus ditetapkan jika 'matrix' ditetapkan.
  • matrix: Nilai untuk matriks konfusi. Harus ditetapkan jika 'label' ditetapkan.
  • fpr: Daftar rasio positif palsu untuk kurva ROC. Harus ditetapkan jika 'tpr' atau 'thresholds' ditetapkan.
  • tpr: Daftar rasio positif benar untuk kurva ROC. Harus ditetapkan jika 'fpr' atau 'thresholds' ditetapkan.
  • threshold: Daftar nilai minimum untuk kurva ROC. Harus ditetapkan jika 'fpr' atau 'tpr' ditetapkan.
  • display_name: Nama yang ditentukan pengguna untuk artefak metrik klasifikasi.

Melihat daftar eksperimen di Konsol Google Cloud

  1. Di Konsol Google Cloud, buka halaman Experiments.
    Buka Eksperimen
    Daftar eksperimen akan muncul.
  2. Pilih eksperimen yang ingin diperiksa.
    Daftar operasi akan ditampilkan.

Halaman daftar eksperimen Vertex AI
Untuk detail selengkapnya, lihat Membandingkan dan menganalisis operasi.

Langkah berikutnya

Tutorial notebook

Postingan blog