本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
組態檔案
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_OVERRIDE
與 SAGEMAKER_USER_CONFIG_OVERRIDE
環境變數,來覆寫這些檔案的預設位置。
如果系統管理員定義及使用者定義的組態檔案均存在金鑰,則會採用使用者定義檔案的值。