組態檔案 - Amazon SageMaker

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

組態檔案

Amazon SageMaker Python SDK支援設定 AWS 基礎設施原始類型的預設值。管理員設定這些預設值後,當 SageMaker Python SDK呼叫支援 時,會自動傳遞這些預設值APIs。可將裝飾項目函式的引數置於組態檔案內部。這樣您就可以將與基礎設施相關的設定與代碼基底分隔開來。如需更多相關資訊了解遠端函式與方法的參數及引數,請參閱遠端函式類別與方法規格

您可以設定網路組態、IAM角色、Amazon S3 資料夾的基礎設施設定,用於組態檔案內的輸入、輸出資料和標籤。使用 @remote 裝飾程式或 RemoteExecutor 叫用函數時,可以使用組態檔案API。

以下範例組態檔案定義相依性、資源以及其他引數。此範例組態檔案用於叫用使用 @remote 裝飾程式或 啟動的函數 RemoteExecutor API。

SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: Dependencies: 'path/to/requirements.txt' EnableInterContainerTrafficEncryption: true EnvironmentVariables: {'EnvVarKey': 'EnvVarValue'} ImageUri: '366666666666.dkr.ecr.us-west-2.amazonaws.com/my-image:latest' IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: - "*.ipynb" - "data" InstanceType: 'ml.m5.large' JobCondaEnvironment: 'your_conda_env' PreExecutionCommands: - 'command_1' - 'command_2' PreExecutionScript: 'path/to/script.sh' RoleArn: 'arn:aws:iam::366666666666:role/MyRole' S3KmsKeyId: 'yourkmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project' VpcConfig: SecurityGroupIds: - 'sg123' Subnets: - 'subnet-1234' Tags: [{'Key': 'yourTagKey', 'Value':'yourTagValue'}] VolumeKmsKeyId: 'yourkmskeyid'

@remote 裝飾項目與 RemoteExecutor 將在以下組態檔案查找 Dependencies

  • 管理員定義的組態檔案。

  • 使用者定義的組態檔案。

這些組態檔案的預設位置取決於且相對於您的環境。下列代碼範例會傳回管理員與使用者組態檔案的預設位置。這些命令必須在您使用 SageMaker Python 的相同環境中執行SDK。

import os from platformdirs import site_config_dir, user_config_dir #Prints the location of the admin config file print(os.path.join(site_config_dir("sagemaker"), "config.yaml")) #Prints the location of the user config file print(os.path.join(user_config_dir("sagemaker"), "config.yaml"))

您可以透過分別針對管理員定義及使用者定義的組態檔案路徑設定 SAGEMAKER_ADMIN_CONFIG_OVERRIDESAGEMAKER_USER_CONFIG_OVERRIDE 環境變數,來覆寫這些檔案的預設位置。

如果系統管理員定義及使用者定義的組態檔案均存在金鑰,則會採用使用者定義檔案的值。