

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 設定ファイル
<a name="train-remote-decorator-config"></a>

Amazon SageMaker Python SDK は、 AWS インフラストラクチャプリミティブタイプのデフォルト値の設定をサポートしています。管理者によってこれらのデフォルト値が設定された後、SageMaker Python SDK がサポートされている API を呼び出すと、これらのデフォルト値が自動的に渡されます。デコレータ関数の引数は設定ファイルの中に入れることができます。この結果、インフラストラクチャに関連する設定をコードベースから分離できます。リモート関数およびメソッドのパラメータおよび引数の詳細については、「[Remote function classes and methods specification](https://sagemaker.readthedocs.io/en/stable/api/sagemaker_train.html)」を参照してください。

ネットワーク設定、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` 環境変数をそれぞれ設定することで、これらのファイルのデフォルトの場所を上書きできます。

管理者定義の設定ファイルとユーザー定義の設定ファイルの両方にキーが存在する場合は、ユーザー定義ファイルの値が使用されます。