将流水线运行作业添加到实验

您可以使用 Google Cloud 控制台或 Python 版 Vertex AI SDK 将流水线运行作业添加到实验或实验运行作业中。

Google Cloud 控制台

按照以下说明运行机器学习流水线,并使用 Google Cloud 控制台将该流水线与实验关联,此外还可以选择与实验运行作业关联。实验运行作业只能通过 Python 版 Vertex AI SDK 创建(请参阅创建和管理实验运行作业)。
  1. 在 Google Cloud 控制台的 Vertex AI 部分中,前往流水线页面。
    前往“流水线”
  2. 区域下拉列表中,选择要在其中创建流水线的区域。
  3. 点击 创建运行以打开创建流水线运行窗格。
  4. 指定以下运行详情
    • 文件字段中,点击选择打开文件选择器。 导航到要运行的已编译流水线 JSON 文件,选择流水线,然后点击打开
    • 流水线名称默认为您在流水线定义中指定的名称。您也可以指定其他流水线名称
    • 指定运行名称以唯一标识此流水线运行。
  5. 如需指定此流水线运行使用自定义服务账号、客户管理的加密密钥或对等互连 VPC 网络,请点击高级选项(可选)。
    按照以下说明配置高级选项,例如自定义服务账号。
    • 如需指定服务账号,请从服务账号下拉列表中选择一个服务账号。
      如果您未指定服务账号,Vertex AI Pipelines 将使用默认 Compute Engine 服务账号运行流水线。
      详细了解配置用于 Vertex AI Pipelines 的服务账号
    • 如需使用客户管理的加密密钥 (CMEK),请选择使用客户管理的加密密钥。此时会显示选择客户管理的密钥下拉列表。在选择客户管理的密钥下拉列表中,选择要使用的密钥。
    • 如需在此流水线运行中使用对等互连的 VPC 网络,请在对等互连的 VPC 网络框中输入 VPC 网络名称。
  6. 点击继续
    此时会显示 Cloud Storage 位置和流水线参数窗格。
    • 必需:输入 Cloud Storage 输出目录,例如:gs://location_of_directory
    • 可选:指定要用于此流水线运行的参数。
  7. 点击提交以创建流水线运行。
  8. 提交流水线后,它将显示在流水线的 Google Cloud 控制台表中。
  9. 在与流水线关联的行中,点击 查看更多 > 添加到实验
    • 选择现有实验或新建一个实验。
    • 可选:如果有实验运行作业与实验关联,它们将显示在下拉列表中。选择现有的实验运行作业。
  10. 点击保存

使用 Google Cloud 控制台将流水线运行作业与实验运行作业进行比较

  1. 在 Google Cloud 控制台中,前往实验页面。
    <a{: class="button button-primary" l10n-attrs-original-order="href,target,class,track-name,track-type" l10n-encrypted-href="V3Ae1hvcBOij4KvUNiRrMltigmNHgUGOXn/QVSGplOhBlpxunv8WHL3F/z3VuS9rwbZOYpOQCXa+v4aZ0dt03w==" target="console" track-name="consoleLink" track-type="tasks" }="">前往“实验”
    实验列表会显示在实验页面中。 </a{:>
  2. 选择要在其中添加流水线运行作业的实验。
    此时会显示运行作业列表。
  3. 选择要比较的运行作业,然后点击比较
  4. 点击添加运行作业按钮。此时会显示运行作业列表。
  5. 选择要添加的流水线运行作业。系统会添加运行作业。

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

以下示例使用 PipelineJob API。

将流水线运行作业与实验关联

此示例展示了如何将流水线运行与实验关联。如果要比较流水线运行,您应将流水线运行与实验关联。请参阅 Python 版 Vertex AI SDK 参考文档中的 init

Python

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
  • 多次重新运行同一流水线。例如,如果您更改输入参数,或者一个组件发生故障并且您需要再次运行它。

将流水线运行与实验运行关联时,参数和指标不会自动提供,需要使用 Logging API 手动记录。

注意:将可选的 resume 参数指定为 TRUE 时,先前启动的运行会继续。如果未指定,则 resume 默认为 FALSE,并创建一个新的运行。

请参阅 Python 版 Vertex AI SDK 参考文档中的 initstart_runlog

Python

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 实验列表

Codelab

后续步骤

相关笔记本示例