RunConfiguration Classe
Representa a configuração para execuções de experimentação direcionadas para diferentes destinos de computação no Azure Machine Learning.
O objeto RunConfiguration encapsula as informações necessárias para submeter uma execução de preparação numa experimentação. Normalmente, não irá criar um objeto RunConfiguration diretamente, mas obter um de um método que o Experiment devolve, como o submit método da classe.
RunConfiguration é uma configuração de ambiente base que também é utilizada noutros tipos de passos de configuração que dependem do tipo de execução que está a acionar. Por exemplo, ao configurar um PythonScriptStep, pode aceder ao objeto RunConfiguration do passo e configurar dependências da Conda ou aceder às propriedades do ambiente para a execução.
Para obter exemplos de configurações de execução, veja Selecionar e utilizar um destino de computação para preparar o modelo.
Inicialize uma RunConfiguration com as predefinições.
- Herança
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementRunConfiguration
Construtor
RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)
Parâmetros
Name | Description |
---|---|
script
|
O caminho relativo para o ficheiro de script python. O caminho do ficheiro é relativo ao diretório de origem transmitido para submit. Default value: None
|
arguments
|
Argumentos da linha de comandos para o ficheiro de script python. Default value: None
|
framework
|
A arquitetura de destino utilizada na execução. As arquiteturas suportadas são Python, PySpark, TensorFlow e PyTorch. Default value: None
|
communicator
|
O comunicador utilizado na execução. Os comunicadores suportados são None, ParameterServer, OpenMpi e IntelMpi. Tenha em atenção que o OpenMpi requer uma imagem personalizada com o OpenMpi instalado. Utilize ParameterServer ou OpenMpi para clusters AmlCompute. Utilize o IntelMpi para tarefas de preparação distribuídas. Default value: None
|
conda_dependencies
|
Quando deixado no valor predefinido de Falso, o sistema cria um ambiente Python, que inclui os pacotes especificados em Default value: None
|
auto_prepare_environment
Necessário
|
PRETERIDO. Esta definição já não é utilizada. |
command
|
O comando a submeter para a execução. A propriedade de comando também pode ser utilizada em vez de script/argumentos. As propriedades de comando e script/argumento não podem ser utilizadas em conjunto para submeter uma execução. Para submeter um ficheiro de script com a propriedade de comando - ['python', 'train.py', '–arg1', arg1_val] Para executar um comando real - ['ls'] Default value: None
|
_history_enabled
|
Default value: None
|
_path
|
Default value: None
|
_name
|
Default value: None
|
Observações
Normalmente, criamos sistemas de machine learning para resolver um problema específico. Por exemplo, podemos estar interessados em encontrar o melhor modelo que classifica páginas Web que possam ser servidas como resultados de pesquisa correspondentes a uma consulta. A nossa pesquisa pelo melhor modelo de machine learning pode exigir que experimentemos algoritmos diferentes ou considere definições de parâmetros diferentes, etc.
No SDK do Azure Machine Learning, utilizamos o conceito de uma experimentação para capturar a noção de que as diferentes execuções de preparação estão relacionadas com o problema que estão a tentar resolver. Em Experiment seguida, atua como um contentor lógico para estas execuções de preparação, tornando mais fácil controlar o progresso em execuções de preparação, comparar duas execuções de preparação diretamente, etc.
A RunConfiguration encapsula as definições do ambiente de execução necessárias para submeter uma execução de preparação numa experimentação. Captura a estrutura partilhada das execuções de preparação concebidas para resolver o mesmo problema de machine learning, bem como as diferenças nos parâmetros de configuração (por exemplo, taxa de aprendizagem, função de perda, etc.) que distinguem execuções de preparação distintas entre si.
Em cenários de preparação típicos, a RunConfiguration é utilizada ao criar um ScriptRunConfig objeto que empacota um objeto RunConfiguration e um script de execução para preparação.
A configuração de RunConfiguration inclui:
Agrupar o diretório de origem da experimentação, incluindo o script submetido.
Definir os argumentos da linha de comandos para o script submetido.
Configurar o caminho para o interpretador python.
Obtenha a configuração do Conda para gerir as dependências da aplicação. O processo de submissão de tarefas pode utilizar a configuração para aprovisionar um ambiente conda temporário e iniciar a aplicação no. Os ambientes temporários são colocados em cache e reutilizados em execuções subsequentes.
Utilização opcional do Docker e imagens de base personalizadas.
Opção opcional de submeter a experimentação a vários tipos de computação do Azure.
Opção opcional para configurar como materializar entradas e carregar saídas.
Definições de runtime avançadas para runtimes comuns, como spark e tensorflow.
O exemplo seguinte mostra como submeter um script de preparação no seu computador local.
from azureml.core import ScriptRunConfig, RunConfiguration, Experiment
# create or load an experiment
experiment = Experiment(workspace, "MyExperiment")
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = experiment.submit(config)
O exemplo seguinte mostra como submeter um script de preparação no cluster com a propriedade de comando 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 seguinte 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)
Variáveis
Name | Description |
---|---|
environment
|
A definição de ambiente. Este campo configura o ambiente python. Pode ser configurado para utilizar um ambiente Python existente ou configurar para configurar um ambiente temporário para a experimentação. A definição também é responsável por definir as dependências de aplicação necessárias. |
max_run_duration_seconds
|
O tempo máximo permitido para a execução. O sistema tentará cancelar automaticamente a execução se demorar mais tempo do que este valor. |
node_count
|
O número de nós a utilizar para a tarefa. |
priority
|
A prioridade da tarefa para a política de agendamento. |
history
|
A secção de configuração utilizada para desativar e ativar as funcionalidades de registo do histórico de experimentações. |
spark
|
Quando a plataforma está definida como PySpark, a secção de configuração do Spark é utilizada para definir o SparkConf predefinido para a tarefa submetida. |
hdi
|
A secção de configuração do HDI só entra em vigor quando o destino está definido como uma computação do Azure HDI. A Configuração do HDI é utilizada para definir o modo de implementação do YARN. O modo de implementação predefinido é o cluster. |
docker
|
A secção Configuração do Docker é utilizada para definir variáveis para o ambiente do Docker. |
tensorflow
|
A secção de configuração utilizada para configurar parâmetros distribuídos do TensorFlow.
Este parâmetro só entra em vigor quando |
mpi
|
A secção de configuração utilizada para configurar parâmetros de tarefas de MPI distribuídos.
Este parâmetro só entra em vigor quando |
pytorch
|
A secção de configuração utilizada para configurar parâmetros de tarefaSPyTorch distribuídos.
Este parâmetro só entra em vigor quando está |
paralleltask
|
A secção de configuração utilizada para configurar parâmetros de tarefas paralelas distribuídas.
Este parâmetro só entra em vigor quando |
data_references
|
Todas as origens de dados estão disponíveis para execução durante a execução com base em cada configuração. Para cada item do dicionário, a chave é um nome dado à origem de dados e o valor é DataReferenceConfiguration. |
data
|
Todos os dados a disponibilizar para a execução durante a execução. |
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
Todos os dados para disponibilizar o datacache para a execução durante a execução. |
output_data
|
Todas as saídas que devem ser carregadas e controladas para esta execução. |
source_directory_data_store
|
O arquivo de dados de cópia de segurança da partilha do projeto. |
amlcompute
|
Os detalhes do destino de computação a ser criado durante a experimentação. A configuração só entra em vigor quando o destino de computação é AmlCompute. |
kubernetescompute
|
Os detalhes do destino de computação a utilizar durante a experimentação. A configuração só entra em vigor quando o destino de computação é KubernetesCompute. |
services
|
Pontos finais para interativar com o recurso de computação. Os pontos finais permitidos são as portas Jupyter, JupyterLab, VS Code, Tensorboard, SSH e Custom. |
Métodos
delete |
Eliminar um ficheiro de configuração de execução. Gera um UserErrorException se o ficheiro de configuração não for encontrado. |
load |
Carregue um ficheiro de configuração de execução anteriormente guardado a partir de um ficheiro no disco. Se Se |
save |
Guarde a RunConfiguration num ficheiro no disco. A UserErrorException é gerado quando:
Se Se Este método é útil ao editar a configuração manualmente ou ao partilhar a configuração com a CLI. |
delete
Eliminar um ficheiro de configuração de execução.
Gera um UserErrorException se o ficheiro de configuração não for encontrado.
static delete(path, name)
Parâmetros
Name | Description |
---|---|
path
Necessário
|
Um diretório de raiz selecionado pelo utilizador para configurações de execução. Normalmente, este é o Repositório Git ou o diretório de raiz do projeto Python. A configuração é eliminada de um subdiretório denominado .azureml. |
name
Necessário
|
O nome do ficheiro de configuração. |
Exceções
Tipo | Description |
---|---|
UserErrorException
|
load
Carregue um ficheiro de configuração de execução anteriormente guardado a partir de um ficheiro no disco.
Se path
apontar para um ficheiro, a RunConfiguration é carregada a partir desse ficheiro.
Se path
apontar para um diretório, que deve ser um diretório de projeto, a RunConfiguration é carregada a partir de <path>/.azureml/<name> ou <path>/aml_config/<name>.
static load(path, name=None)
Parâmetros
Name | Description |
---|---|
path
Necessário
|
Um diretório de raiz selecionado pelo utilizador para configurações de execução. Normalmente, este é o Repositório Git ou o diretório de raiz do projeto Python. Para retrocompatibilidade, a configuração também será carregada a partir de .azureml ou aml_config subdiretório. Se o ficheiro não estiver nesses diretórios, o ficheiro será carregado a partir do caminho especificado. |
name
|
O nome do ficheiro de configuração. Default value: None
|
Devoluções
Tipo | Description |
---|---|
O objeto de configuração de execução. |
Exceções
Tipo | Description |
---|---|
UserErrorException
|
save
Guarde a RunConfiguration num ficheiro no disco.
A UserErrorException é gerado quando:
A RunConfiguration não pode ser guardada com o nome especificado.
Não
name
foi especificado nenhum parâmetro.O
path
parâmetro é inválido.
Se path
for do formato <dir_path>/<file_name>, em <que dir_path> é um diretório válido, a RunConfiguration é guardada em <dir_path>/<file_name>.
Se path
apontar para um diretório, que deve ser um diretório de projeto, a RunConfiguration é guardada em <path>/.azureml/<name> ou <path>/aml_config/<name>.
Este método é útil ao editar a configuração manualmente ou ao partilhar a configuração com a CLI.
save(path=None, name=None, separate_environment_yaml=False)
Parâmetros
Name | Description |
---|---|
separate_environment_yaml
|
Indica se pretende guardar a configuração do ambiente conda. Se For Verdadeiro, a configuração do ambiente conda é guardada num ficheiro YAML com o nome "environment.yml". Default value: False
|
path
|
Um diretório de raiz selecionado pelo utilizador para configurações de execução. Normalmente, este é o Repositório Git ou o diretório de raiz do projeto Python. A configuração é guardada num subdiretório com o nome .azureml. Default value: None
|
name
|
[Obrigatório] O nome do ficheiro de configuração. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Exceções
Tipo | Description |
---|---|
UserErrorException
|
Atributos
auto_prepare_environment
Obtenha o auto_prepare_environment
parâmetro . Esta é uma definição preterida e não utilizada.
environment_variables
target
Obtenha o destino de computação onde a tarefa está agendada para execução.
O destino predefinido é "local" que se refere ao computador local. Os destinos de computação na cloud disponíveis podem ser encontrados com a função compute_targets.
Devoluções
Tipo | Description |
---|---|
O nome de destino |