

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

# 亚马逊 SageMaker 实验集成
<a name="pipelines-experiments"></a>

Amaz SageMaker on Pipelines 与亚马逊 SageMaker 实验紧密集成。默认情况下，当 Pipelines 创建并执行管道时，如果不存在，则会创建以下 SageMaker 实验实体：
+ 管道的实验
+ 每次执行管道时的运行组
+ 为在管道执行步骤中创建的每个 SageMaker AI 作业添加到运行组的运行

您可以比较多个管道执行中的模型训练准确性等指标，就像在 SageMaker AI 模型训练实验的多个运行组中比较此类指标一样。

以下示例显示了 [Amaz SageMaker on Python 软件开发工具包](https://sagemaker.readthedocs.io/en/stable)中 Pip [elin](https://github.com/aws/sagemaker-python-sdk/blob/v2.41.0/src/sagemaker/workflow/pipeline.py) e 类的相关参数。

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

如果您不想为管道创建实验和运行组，则将 `pipeline_experiment_config` 设置为 `None`。

**注意**  
Amaz SageMaker on Python SDK v2.41.0 中引入了实验集成。

根据为 `pipeline_experiment_config` 的 `ExperimentName` 和 `TrialName` 参数指定的内容，应用以下命名规则：
+ 如果不指定 `ExperimentName`，则将管道 `name` 用作实验名称。

  如果指定 `ExperimentName`，则将其用作实验名称。如果存在具有该名称的实验，则管道创建的运行组将添加到现有实验中。如果不存在具有该名称的实验，则会创建一个新的实验。
+ 如果不指定 `TrialName`，则将管道执行 ID 用作运行组名称。

  如果指定 `TrialName`，则将其用作运行组名称。如果存在具有该名称的运行组，则管道创建的运行将添加到现有的运行组中。如果不存在具有该名称的运行组，则会创建一个新的运行组。

**注意**  
删除创建了实验实体的管道时，不会删除这些实体。您可以使用 SageMaker 实验 API 来删除实体。

有关如何查看与管道关联的 SageMaker AI 实验实体的信息，请参阅[从管道访问实验数据](pipelines-studio-experiments.md)。有关 SageMaker 实验的更多信息，请参阅[Studio 经典版中的亚马逊 SageMaker 实验](experiments.md)。

下面几节将展示上述规则的示例，以及如何在管道定义文件中表示这些规则。有关管道定义文件的更多信息，请参阅 [管道概述](pipelines-overview.md)。

**Topics**
+ [默认行为](pipelines-experiments-default.md)
+ [禁用实验集成](pipelines-experiments-none.md)
+ [指定自定义实验名称](pipelines-experiments-custom-experiment.md)
+ [指定自定义运行组名称](pipelines-experiments-custom-trial.md)