配置您的管道 - 亚马逊 SageMaker AI

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

配置您的管道

建议您使用 SageMaker AI 配置文件来设置管道的默认值。有关 SageMaker AI 配置文件的信息,请参阅在 SageMaker Python SDK 中配置和使用默认值。添加到配置文件中的任何配置都适用于管道中的所有步骤。如果您要覆盖任何步骤的选项,请在 @step 装饰器参数中提供新值。下面的主题介绍了如何设置配置文件。

配置文件中 @remote 装饰器的配置与 @step 装饰器的配置完全相同。要在配置文件中设置管道角色 ARN 和管道标签,请使用以下代码段中的 Pipeline 部分:

SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'

在配置文件中设置的大部分默认值,都可以通过向 @step 装饰器传递新值来覆盖。例如,您可以覆盖配置文件中为预处理步骤设置的实例类型,如下例所示:

@step(instance_type="ml.m5.large") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe

一些参数不是@step装饰器参数列表的一部分,只能通过 SageMaker AI 配置文件为整个管道配置这些参数。它们列举如下:

  • sagemaker_session(sagemaker.session.Session): SageMaker AI 委托服务调用的底层 SageMaker AI 会话。如果未指定,则使用默认配置创建会话,如下所示:

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filterCustomFileFilter)CustomFileFilter 对象,用于指定要包含在管道步骤中的本地目录和文件。如果未指定,默认为 None。要使 custom_file_filter 生效,您必须将 IncludeLocalWorkdir 设置为 True。下面的示例显示了忽略所有笔记本文件以及名为 data 的文件和目录的配置。

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: # files or directories to ignore - "*.ipynb" # all notebook files - "data" # folder or file named "data"

    有关如何使用 IncludeLocalWorkdirCustomFileFilter 的更多详情,请参阅 将模块化代码用于 @remote 装饰器

  • s3_root_uri (str):Amazon S3 根文件夹, SageMaker AI 将代码存档和数据上传到该文件夹。如果未指定,则使用默认 SageMaker AI 存储桶。

  • s3_kms_key (str):用于加密输入和输出数据的键。您只能在 SageMaker AI 配置文件中配置此参数,并且该参数适用于管道中定义的所有步骤。如果未指定,默认为 None。请参阅下面的 S3 KMS 密钥配置示例片段:

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project