配置您的管道 - Amazon SageMaker

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

配置您的管道

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

配置文件中@step装饰器的配置与@remote装饰器的配置相同。要在配置文件中设置管道角色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 它们列出如下:

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

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filter(CustomFileFilter): 一个CustomFileFilter对象,它指定要包含在管道步骤中的本地目录和文件。如果未指定,则此值默认为。Nonecustom_file_filter要生效,必须将设置IncludeLocalWorkdirTrue。以下示例显示了一个忽略所有笔记本文件以及名为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"

    有关如何IncludeLocalWorkdir与一起使用的更多详细信息CustomFileFilter,请参阅将模块化代码用于 @remote 装饰器

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

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

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