View a markdown version of this page

設定您的管道 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定您的管道

建議您使用 SageMaker AI 組態檔案來設定管道的預設值。如需 SageMaker AI 組態檔案的詳細資訊,請參閱搭配 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 AI 組態檔案為整個管道設定這些引數。它們列示如下:

  • sagemaker_session (sagemaker.session.Session):獲 SageMaker AI 委派服務呼叫的基礎 SageMaker AI 工作階段。如果未指定,則會使用預設組態建立工作階段,如下所示:

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filter (CustomFileFilter)):一種 CustomFileFilter 物件,其指定要包含在管道步驟中的本機目錄和檔案。如果未指定,此值預設為 Nonecustom_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 AI 將程式碼封存和資料上傳至其中的根 Amazon S3 資料夾。如果未指定,則會使用預設 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