ScriptRunConfig Classe
Representa informações de configuração para enviar uma execução de treinamento no Azure Machine Learning.
Um ScriptRunConfig reúne as informações de configuração necessárias para enviar uma execução no Azure ML, incluindo o script, o destino de computação, o ambiente e quaisquer configurações específicas de trabalho distribuídas.
Depois que uma execução de script é configurada e enviada com o submit, a ScriptRun é retornada.
Classe ScriptRunConfig construtor.
Construtor
ScriptRunConfig(source_directory, script=None, arguments=None, run_config=None, _telemetry_values=None, compute_target=None, environment=None, distributed_job_config=None, resume_from=None, max_run_duration_seconds=2592000, command=None, docker_runtime_config=None)
Parâmetros
| Name | Description |
|---|---|
|
source_directory
Necessário
|
Um diretório local contendo arquivos de código necessários para uma execução. |
|
script
Necessário
|
O caminho do arquivo relativo ao source_directory do script a ser executado. |
|
arguments
Necessário
|
Argumentos de linha de comando opcionais para passar para o script de treinamento. Os argumentos são passados em pares, por exemplo, ['–arg1', arg1_val, '–arg2', arg2_val]. |
|
run_config
Necessário
|
Configuração de execução opcional a ser usada. |
|
_telemetry_values
Necessário
|
Apenas para uso interno. |
|
compute_target
Necessário
|
O alvo de computação onde o treinamento acontecerá. Isso pode ser um objeto ComputeTarget, o nome de um ComputeTarget existente ou a cadeia de caracteres "local". Se nenhum destino de computação for especificado, sua máquina local será usada. |
|
environment
Necessário
|
O ambiente a ser usado para a execução. Se nenhum ambiente for especificado, azureml.core.runconfig.DEFAULT_CPU_IMAGE será usado como a imagem do Docker para a execução. |
|
distributed_job_config
Necessário
|
Para trabalhos que exigem configurações adicionais específicas de trabalhos distribuídos. |
|
resume_from
Necessário
|
O DataPath que contém o ponto de verificação ou os arquivos de modelo a partir dos quais retomar o experimento. |
|
max_run_duration_seconds
Necessário
|
O tempo máximo permitido para a execução. O sistema tentará cancelar automaticamente a execução se ela demorar mais do que esse valor. :tipo max_run_duration_seconds: int |
|
command
Necessário
|
O comando a ser enviado para a execução. A propriedade command também pode ser usada em vez de script/argumentos. As propriedades de comando e script/argumento não podem ser usadas juntas para enviar uma execução. Para enviar um arquivo de script usando a propriedade command - ['python', 'train.py', '–arg1', arg1_val] Para executar um comando real - ['ls'] |
|
docker_runtime_config
Necessário
|
Para trabalhos que exigem configurações específicas de tempo de execução do Docker. |
|
source_directory
Necessário
|
Um diretório local contendo arquivos de código necessários para uma execução. |
|
script
Necessário
|
O caminho do arquivo relativo ao source_directory do script a ser executado. |
|
arguments
Necessário
|
Argumentos de linha de comando opcionais para passar para o script de treinamento. Os argumentos são passados em pares, por exemplo, ['–arg1', arg1_val, '–arg2', arg2_val]. |
|
run_config
Necessário
|
Configuração de execução opcional a ser usada. |
|
_telemetry_values
Necessário
|
Apenas para uso interno. |
|
compute_target
Necessário
|
O alvo de computação onde o treinamento acontecerá. Isso pode ser um objeto ComputeTarget, o nome de um ComputeTarget existente ou a cadeia de caracteres "local". Se nenhum destino de computação for especificado, sua máquina local será usada. |
|
environment
Necessário
|
O ambiente a ser usado para a execução. Se nenhum ambiente for especificado, azureml.core.runconfig.DEFAULT_CPU_IMAGE será usado como a imagem do Docker para a execução. |
|
distributed_job_config
Necessário
|
Para trabalhos que exigem configurações adicionais específicas de trabalhos distribuídos. |
|
resume_from
Necessário
|
O DataPath que contém o ponto de verificação ou os arquivos de modelo a partir dos quais retomar o experimento. |
|
max_run_duration_seconds
Necessário
|
O tempo máximo permitido para a execução. O sistema tentará cancelar automaticamente a execução se ela demorar mais do que esse valor. |
|
command
Necessário
|
O comando a ser enviado para a execução. A propriedade command também pode ser usada em vez de script/argumentos. As propriedades de comando e script/argumento não podem ser usadas juntas para enviar uma execução. Para enviar um arquivo de script usando a propriedade command - ['python', 'train.py', '–arg1', arg1_val] Para executar um comando real - ['ls'] |
|
docker_runtime_config
Necessário
|
Para trabalhos que exigem configurações específicas de tempo de execução do Docker. |
Observações
O SDK do Azure Machine Learning fornece uma série de classes interconectadas, projetadas para ajudá-lo a treinar e comparar modelos de aprendizado de máquina relacionados pelo problema compartilhado que estão resolvendo.
Um Experiment atua como um contêiner lógico para essas execuções de treinamento. Um objeto ScriptRunConfig é usado para configurar as informações necessárias para enviar uma execução de treinamento como parte de um experimento. Quando uma execução é enviada usando um objeto ScriptRunConfig, o método submit retorna um objeto do tipo ScriptRun. Em seguida, o objeto ScriptRun retornado fornece acesso programático a informações sobre a execução de treinamento. ScriptRun é uma classe filho de Run.
O conceito-chave a ser lembrado é que existem diferentes objetos de configuração que são usados para enviar um experimento, com base no tipo de execução que você deseja disparar. O tipo do objeto de configuração informa qual classe filho de Run você recebe de volta do método submit. Quando você passa um objeto ScriptRunConfig em uma chamada para o método de envio do Experiment, você recebe de volta um objeto ScriptRun. Exemplos de outros objetos de execução retornados incluem AutoMLRun (retornado para uma execução AutoML) e PipelineRun (retornado para uma execução de Pipeline).
O exemplo a seguir mostra como enviar um script de treinamento em sua máquina local.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
script='train.py',
arguments=['--arg1', arg1_val, '--arg2', arg2_val],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
O exemplo a seguir mostra como enviar um script de treinamento em seu cluster usando a propriedade command em vez de script e argumentos.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['python', 'train.py', '--arg1', arg1_val],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
O exemplo a seguir mostra como executar um comando no cluster.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['ls', '-l'],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
Para obter mais exemplos mostrando como trabalhar com ScriptRunConfig, consulte:
Atributos
MAX_DURATION_SECONDS_DEFAULT
MAX_DURATION_SECONDS_DEFAULT = 2592000