本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置您的管道
建议您使用 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
对象,它指定要包含在管道步骤中的本地目录和文件。如果未指定,则此值默认为。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"
有关如何
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