Arquivo de configuração - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Arquivo de configuração

O Amazon SageMaker Python SDK suporta a configuração de valores padrão para tipos primitivos de AWS infraestrutura. Depois que os administradores configuram esses padrões, eles são transmitidos automaticamente quando o SDK do SageMaker Python chama as APIs compatíveis. Os argumentos para a função do decorador podem ser colocados dentro dos arquivos de configuração. Isso é para que você possa separar as configurações relacionadas à infraestrutura da base de código. Para obter mais informações sobre parâmetros e argumentos da função e métodos remotos, consulte Especificação de métodos e classes de funções remotas.

Você pode definir as configurações de infraestrutura para a configuração de rede, perfis do IAM, pasta Amazon S3 para entrada, dados de saída e tags dentro do arquivo de configuração. O arquivo de configuração pode ser usado ao invocar uma função usando o decorador @remote ou a API RemoteExecutor.

Veja a seguir um exemplo de arquivo de configuração que define as dependências, os recursos e outros argumentos. Esse exemplo de arquivo de configuração é usado para invocar uma função que é iniciada usando o decorador @remote ou a 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://my-bucket/my-project' VpcConfig: SecurityGroupIds: - 'sg123' Subnets: - 'subnet-1234' Tags: [{'Key': 'yourTagKey', 'Value':'yourTagValue'}] VolumeKmsKeyId: 'yourkmskeyid'

O decorador @remote e RemoteExecutor procurará por Dependencies nos seguintes arquivos de configuração:

  • Um arquivo de configuração definido pelo administrador.

  • Um arquivo de configuração definido pelo usuário.

Os locais padrão desses arquivos de configuração dependem e são relativos ao ambiente. O exemplo de código a seguir retorna o local padrão dos arquivos de configuração do administrador e do usuário. Esses comandos devem ser executados no mesmo ambiente em que você está usando o SDK do SageMaker Python.

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"))

Você pode substituir os locais padrão desses arquivos definindo as variáveis de ambiente SAGEMAKER_ADMIN_CONFIG_OVERRIDE e SAGEMAKER_USER_CONFIG_OVERRIDE para os caminhos de arquivos de configuração definidos pelo administrador e definidos pelo usuário, respectivamente.

Se existir uma chave nos arquivos de configuração definidos pelo administrador e pelo usuário, o valor no arquivo definido pelo usuário será usado.