Python 適用的 Vertex AI SDK 包含可協助進行視覺化、測量和追蹤的類別。這些類別可分為三種類型:
- 使用中繼資料追蹤機器學習 (ML) 工作流程中資源的類別
- 用於 Vertex AI 實驗的類別
- Vertex AI TensorBoard 使用的類別
下列主題將概略介紹 Vertex AI SDK for Python 中,與追蹤及監控機器學習工作流程相關的類別。
中繼資料類別
您可以使用 Python 適用的 Vertex AI SDK 建立 Vertex 機器學習中繼資料,以便追蹤及分析機器學習工作流程中的中繼資料。詳情請參閱「Vertex 機器學習中繼資料簡介」。
Artifact
Artifact
類別代表 Vertex AI 中構件中的中繼資料。構件是指由機器學習工作流程產生的個別實體或資料片段。成品包括資料集、模型和輸入檔案。詳情請參閱「追蹤執行作業和構件」。
建立 Artifact
資源時,您必須指定其結構定義。每個類型的構件都有專屬的結構定義。舉例來說,system.Dataset
結構定義代表資料集,而 system.Metrics
結構定義則代表評估指標。詳情請參閱「如何使用系統結構定義」。
以下程式碼範例說明如何建立代表模型的 Artifact
資源:
model_artifact = aiplatform.Artifact.create(
schema_title="system.Model",
display_name=PREPROCESSED_DATASET_NAME,
uri=PREPROCESSED_DATASET_URI,
Execution
Execution
類別代表 Vertex AI 執行作業中的中繼資料。執行是機器學習工作流程中的一個步驟。執行作業的例子包括資料處理、訓練和評估模型。執行作業可以使用資料集等構件,並產生模型等構件。
使用 aiplatform.start_execution
建立 Execution
資源。建立 Execution
資源後,請使用相同的 aiplatform.start_execution
方法,並將其 resume
參數設為 True
,即可繼續執行。
以下程式碼範例說明如何建立 Execution
資源:
with aiplatform.start_execution(schema_title='system.ContainerExecution',
display_name='trainer') as execution:
execution.assign_input_artifacts([my_artifact])
model = aiplatform.Artifact.create(uri='gs://my-uri', schema_title='system.Model')
execution.assign_output_artifacts([model])
Vertex AI Experiments 類別
您可以使用 Python 適用的 Vertex AI SDK 建立及執行 Vertex AI 實驗。使用 Vertex AI Experiments 追蹤記錄的指標和參數,協助您分析及改善機器學習工作流程。詳情請參閱「Vertex AI 實驗簡介」。
如要進一步瞭解如何使用 Experiment
和 ExperimentRun
類別,請試試下列其中一個教學課程:
- 建立 Vertex AI Experiments 自訂訓練的沿革記錄
- 追蹤本機訓練模型的參數和指標
- 使用 Vertex AI Experiments 比較管道執行作業
- 開始使用 Vertex AI Experiments
Experiment
Experiment
類別代表 Vertex AI 中的實驗。使用實驗來分析其實驗執行作業和管道執行作業的不同設定,例如多個輸入構件和超參數。
您可以透過兩種方式建立 Experiment
資源:
建立
Experiment
的首選方式,是在呼叫aiplatform.init
時,將實驗名稱做為參數指定:# In a real world scenario it's likely you would specify more parameters # when you call aiplatform.init. This sample shows only how to use the # parameter used to create an Experiment. # Specify a name for the experiment EXPERIMENT_NAME = "your-experiment-name" # Create the experiment aiplatform.init(experiment=EXPERIMENT_NAME)
您也可以呼叫
aiplatform.Experiment.create
來建立Experiment
。aiplatform.Experiment.create
會建立Experiment
資源,但不會將其設為全域環境。因此,您無法使用aiplatform.start_run
執行實驗。以下程式碼範例說明如何使用aiplatform.Experiment.create
建立實驗,然後執行實驗:# Specify a name for the experiment EXPERIMENT_NAME = "your-experiment-name" EXPERIMENT_RUN_NAME = "your-run" # Create the experiment experiment = aiplatform.Experiment.create(experiment_name=EXPERIMENT_NAME) experiment_run = aiplatform.ExperimentRun.create(EXPERIMENT_RUN_NAME, experiment=EXPERIMENT_NAME)
ExperimentRun
ExperimentRun
類別代表執行實驗。
以下程式碼範例說明如何建立及啟動實驗執行作業,然後使用該作業取得實驗相關資訊。如要刪除實驗執行作業,請取得 ExperimentRun
例項的參照,然後呼叫其 delete
方法。
# Specify your project name, location, experiment name, and run name
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
EXPERIMENT_NAME = "experiment-1"
RUN_NAME = "run-1"
# Create the experiment to run
aiplatform.init(experiment=EXPERIMENT_NAME,
project=PROJECT_NAME,
location=LOCATION)
# Create and run an ExperimentRun resource. Next, you can use it to get
# information about your experiment. For example, you can log parameters and
# metrics with specified key-value pairs.
with aiplatform.start_run(RUN_NAME):
aiplatform.log_params({'learning_rate': 0.1, 'dropout_rate': 0.2})
aiplatform.log_metrics({'accuracy': 0.9, 'recall': 0.8})
# Get a reference to the ExperimentRun resource, get the parameters logged to
# the run, get the summary metrics logged to the run, then delete it.
with aiplatform.start_run(RUN_NAME, resume=True) as run:
run.get_params()
run.get_metrics()
run.delete()
Vertex AI TensorBoard 類別
Python 適用的 Vertex AI SDK 包含可搭配開放原始碼 Vertex AI TensorBoard 代管版本運作的類別。Vertex AI TensorBoard 是一項工具,可用於在機器學習工作流程中監控評估和視覺化資料。詳情請參閱「開始使用 Vertex AI TensorBoard」。
如要進一步瞭解如何使用 Vertex AI SDK for Python 搭配 Vertex AI TensorBoard,請試試下列任一筆記本教學課程:
- 使用 Cloud Profiler 剖析模型訓練成效
- 使用自訂容器進行 Vertex AI TensorBoard 自訂訓練。
- 使用預先建構的容器進行 Vertex AI TensorBoard 自訂訓練
- 使用 HParams 資訊主頁,對 Vertex AI TensorBoard 超參數進行調整
- 使用 Cloud Profiler 剖析模型的訓練成效
- 在使用預先建構的容器進行自訂訓練時,使用 Cloud Profiler 分析模型的訓練成效
Tensorboard
Tensorboard
類別代表儲存 Vertex AI TensorBoard 實驗的受管資源。您必須先建立 Tensorboard
例項,才能將實驗視覺化。您可以在 Google Cloud 專案中建立多個 Tensorboard
例項。
以下程式碼範例說明如何建立 Tensorboard
例項:
# Specify your project name, location, and the name of your Tensorboard
PROJECT_NAME = "my-project"
LOCATION = "us-central1"
TENSORBOARD_NAME = "my-tensorboard"
aiplatform.init(project=PROJECT_NAME, location=LOCATION)
tensorboard = aiplatform.Tensorboard.create(
display_name=TENSORBOARD_NAME,
project=PROJECT_NAME,
location=LOCATION,
)
TensorboardExperiment
TensorboardExperiment
代表一組 TensorboardRun
物件。TensorboardRun
例項代表在 Tensorboard 中執行訓練工作的結果。
TensorboardRun
TensorboardRun
類別的例項會對應至在 Tensorboard 中執行的訓練工作,並使用指定的超參數組合、模型定義、資料集等。
TensorboardTimeSeries
TensorboardTimeSeries
類別代表訓練執行期間產生的系列。
後續步驟
- 瞭解 Vertex AI SDK。