亚马逊 SageMaker 实验集成 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 SageMaker 实验集成

亚马逊 SageMaker 模型构建管道与亚马逊紧密集成 SageMaker 实验。默认情况下,何时 SageMaker Pipeline 创建并执行管道,如下 SageMaker 如果实验实体不存在,则会创建实验实体:

  • 管道的实验

  • 每次执行管道的试用

  • 为每个项添加到试用中的试用组件 SageMaker 在管道执行步骤中创建的作业

您可以在多个管道执行中比较模型训练准确度等指标,就像在多个试验中比较这些指标一样,就像在 SageMaker 模型训练实验。

以下示例显示了管道在中的类亚马逊 SageMaker Python 开发工具包.

Pipeline( name="MyPipeline", parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[...] )

如果你不想为管道创建实验和试验,请设置pipeline_experiment_configNone.

注意

亚马逊引入了实验集成 SageMaker Python 软件开发工具包 v2.41.0。

以下命名规则基于您为ExperimentNameTrialName的参数pipeline_experiment_config

  • 如果您没有指定ExperimentName,管道name用于实验名称。

    如果你确实指定ExperimentName,它用于实验名称。如果存在具有该名称的实验,则管道创建的试验将添加到现有实验中。如果不存在具有该名称的实验,则会创建一个新的实验。

  • 如果您没有指定TrialName,管道执行 ID 用于试用名称。

    如果你确实指定TrialName,它用于试用名称。如果存在具有该名称的试验,则管道创建的试验组件将添加到现有试验中。如果不存在具有该名称的试用版,则会创建一个新的试用版。

注意

当创建实体的管道被删除时,实验实体不会被删除。您可以使用 SageMaker 实验 API 来删除实体。有关更多信息,请参阅 清理 Amazon SageMaker 实验资源

有关如何查看的信息,请参阅 SageMaker 实验与管道关联的实体,请参阅查看创建者的实验实体 SageMaker 管道. 有关 SageMaker 请参阅实验使用亚马逊管理 Machine Learning SageMaker 实验.

以下各节展示了先前规则的示例以及它们在管道定义文件中的表示方式。有关管道定义文件的更多信息,请参阅。SageMaker 管道概述.

默认行为

创建管道

这些区域有:pipeline_experiment_config被省略。ExperimentName默认为管道name.TrialName默认为执行ID。

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], steps=[step_train] )

管道定义文件

{ "Version": "2020-12-01", "Parameters": [ { "Name": "InputDataSource" }, { "Name": "InstanceCount", "Type": "Integer", "DefaultValue": 1 } ], "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

禁用实验集成

创建管道

pipeline_experiment_config 设置为 None

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=None, steps=[step_train] )

管道定义文件

这与前面的默认示例相同,没有PipelineExperimentConfig.

指定自定义实验名称

使用自定义实验名称。试用名称设置为执行 ID,与默认行为一样。

创建管道

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( "CustomExperimentName", ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[step_train] )

管道定义文件

{ ..., "PipelineExperimentConfig": { "ExperimentName": "CustomExperimentName", "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }

指定自定义试用名称

使用自定义试用名称并附加执行 ID。与默认行为一样,实验名称设置为管道名称。

创建管道

pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, Join(on="-", values=["CustomTrialName", ExecutionVariables.PIPELINE_EXECUTION_ID]) ), steps=[step_train] )

管道定义文件

{ ..., "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": { "On": "-", "Values": [ "CustomTrialName", {"Get": "Execution.PipelineExecutionId"} ] } }, "Steps": [...] }