本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 SageMaker 实验集成
亚马逊 SageMaker 模型构建管道与亚马逊紧密集成 SageMaker 实验。默认情况下,何时 SageMaker Pipeline 创建并执行管道,如下 SageMaker 如果实验实体不存在,则会创建实验实体:
-
管道的实验
-
每次执行管道的试用
-
为每个项添加到试用中的试用组件 SageMaker 在管道执行步骤中创建的作业
您可以在多个管道执行中比较模型训练准确度等指标,就像在多个试验中比较这些指标一样,就像在 SageMaker 模型训练实验。
以下示例显示了管道
Pipeline( name="MyPipeline", parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[...] )
如果你不想为管道创建实验和试验,请设置pipeline_experiment_config
到None
.
亚马逊引入了实验集成 SageMaker Python 软件开发工具包 v2.41.0。
以下命名规则基于您为ExperimentName
和TrialName
的参数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": [...] }