在實驗中新增管道執行作業

您可以使用 Google Cloud 主控台或 Python 適用的 Vertex AI SDK,將管道執行作業新增至實驗或實驗執行作業

Google Cloud 控制台

請按照下列操作說明執行機器學習管道,並將管道與實驗建立關聯,以及視需要使用 Google Cloud 主控台執行實驗。您只能透過 Python 適用的 Vertex AI SDK 建立實驗執行作業 (請參閱「建立及管理實驗執行作業」)。
  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「Pipelines」頁面。
    前往 Pipelines
  2. 在「Region」下拉式選單中,選取要建立管道執行作業的區域。
  3. 按一下「建立執行作業,開啟「建立管道執行作業」窗格。
  4. 指定下列執行詳細資料。
    • 在「File」欄位中,按一下「Choose」,開啟檔案選取工具。 前往要執行的已編譯 pipeline JSON 檔案,選取 pipeline,然後按一下「Open」
    • 管道名稱預設為您在管道定義中指定的名稱。您可以選擇指定其他管道名稱
    • 指定執行作業名稱,以便唯一識別此管道執行作業。
  5. 如要指定這個管道執行作業使用自訂服務帳戶、客戶管理的加密金鑰或對等互連的虛擬私有雲網路,請按一下「進階選項」 (選用)。
    請按照下列操作說明設定進階選項,例如自訂服務帳戶。
    • 如要指定服務帳戶,請從「Service account」下拉式清單中選取服務帳戶。
      如果未指定服務帳戶,Vertex AI Pipelines 會使用預設的 Compute Engine 服務帳戶執行管道。
      進一步瞭解如何設定服務帳戶,以便與 Vertex AI Pipelines 搭配使用
    • 如要使用客戶管理的加密金鑰 (CMEK),請選取「使用客戶管理的加密金鑰」。系統會顯示「Select a customer-managed key」下拉式選單。在「Select a customer-managed key」下拉式清單中,選取要使用的金鑰。
    • 如要在這個管道執行作業中使用對等互連虛擬私有雲網路,請在「對等互連虛擬私有雲網路」方塊中輸入虛擬私有雲網路名稱。
  6. 按一下「繼續」
    「Cloud Storage」位置和「管道參數」窗格隨即顯示。
    • 必要項目:輸入 Cloud Storage 輸出目錄,例如:gs://location_of_directory
    • 選用:指定要用於這項 pipeline 執行作業的參數。
  7. 按一下「提交」,即可建立管道執行作業。
  8. 管道提交後,會顯示在管道的 Google Cloud 主控台表格中。
  9. 在與管道相關聯的資料列中,依序按一下 「View more」>「Add to Experiment」
    • 選取現有實驗或建立新的實驗。
    • 選用:如果實驗執行作業與實驗相關聯,就會顯示在下拉式選單中。選取現有的實驗執行。
  10. 按一下 [儲存]

使用 Google Cloud 控制台比較管道執行作業與實驗執行作業

  1. 前往 Google Cloud 控制台的「Experiments」頁面。
    前往「實驗」
    「實驗」頁面會顯示實驗清單。
  2. 選取要新增管道執行作業的實驗。
    畫面上會顯示執行作業清單。
  3. 選取要比較的執行作業,然後按一下「比較」
  4. 按一下「Add run」按鈕。畫面上會顯示執行作業清單
  5. 選取要新增的管道執行作業。跑步活動已新增。

Vertex AI SDK for Python {:#sdk-add-pipeline-run}

以下範例使用 PipelineJob API。

將管道執行作業與實驗建立關聯

本範例說明如何將管道執行作業與實驗建立關聯。如要比較管道執行作業,請將管道執行作業與實驗建立關聯。請參閱 Vertex AI SDK for Python 參考文件中的 init

Python 適用的 Vertex AI SDK

from typing import Any, Dict, Optional

from google.cloud import aiplatform


def log_pipeline_job_to_experiment_sample(
    experiment_name: str,
    pipeline_job_display_name: str,
    template_path: str,
    pipeline_root: str,
    project: str,
    location: str,
    parameter_values: Optional[Dict[str, Any]] = None,
):
    aiplatform.init(project=project, location=location)

    pipeline_job = aiplatform.PipelineJob(
        display_name=pipeline_job_display_name,
        template_path=template_path,
        pipeline_root=pipeline_root,
        parameter_values=parameter_values,
    )

    pipeline_job.submit(experiment=experiment_name)

  • experiment_name:為實驗命名。您可以在 Google Cloud 控制台中找到實驗清單,方法是選取導覽面板中的「實驗」
  • pipeline_job_display_name:這個管道由使用者定義的名稱。
  • template_path:PipelineJob 或 PipelineSpec JSON 或 YAML 檔案的路徑。可以是本機路徑或 Cloud Storage URI。範例:「gs://project.name」
  • pipeline_root:管道輸出的根目錄。預設為暫存值區。
  • parameter_values:從執行階段參數名稱到控制管道執行作業的值的對應關係。
  • project:您的專案 ID。您可以在 Google Cloud 控制台的「歡迎」頁面中找到這些 ID。
  • location:請參閱「可用位置清單」。

將管道執行作業與實驗執行作業建立關聯

提供的範例會將管道執行作業與實驗執行作業建立關聯。

用途:

  • 當您執行本機模型訓練,然後對該模型執行評估 (評估會使用管道完成)。在這種情況下,您需要將評估指標從管道執行作業寫入 ExperimentRun
  • 重複執行相同管道時。舉例來說,如果您變更輸入參數,或是某個元件發生錯誤而需要重新執行,

將管道執行作業與實驗執行作業建立關聯時,系統不會自動顯示參數和指標,必須使用記錄 API 手動記錄。

注意:如果選用的 resume 參數指定為 TRUE,則先前開始的執行作業會繼續執行。如未指定,resume 會預設為 FALSE,並建立新的執行作業。

請參閱 Vertex AI SDK for Python 參考文件中的 initstart_runlog

Python 適用的 Vertex AI SDK

from google.cloud import aiplatform


def log_pipeline_job_sample(
    experiment_name: str,
    run_name: str,
    pipeline_job: aiplatform.PipelineJob,
    project: str,
    location: str,
):
    aiplatform.init(experiment=experiment_name, project=project, location=location)

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

    aiplatform.log(pipeline_job=pipeline_job)

  • experiment_name:為實驗命名。您可以在 Google Cloud 控制台中找到實驗清單,方法是選取導覽面板中的「實驗」
  • run_name:指定執行名稱。
  • pipeline_job:Vertex AI PipelineJob
  • project:您的專案 ID。您可以在 Google Cloud 控制台的「歡迎」頁面中找到這些資訊。
  • location:請參閱「可用位置清單

在 Google Cloud 控制台中查看管道執行作業清單

  1. 在 Google Cloud 控制台的 Vertex AI 專區中,前往「管道」頁面。

    前往「管道」頁面

  2. 請確認您位於正確的專案中。

  3. 與專案管道執行作業相關聯的實驗和執行作業清單,分別會顯示在「實驗」和「實驗執行作業」欄中。

Vertex AI 實驗清單

程式碼實驗室

後續步驟

相關筆記本範例