CommandStep Classe
Crie uma etapa do Azure ML Pipeline que executa um comando.
Crie uma etapa do Azure ML Pipeline que executa um comando.
- Herança
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
Construtor
CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)
Parâmetros
Nome | Description |
---|---|
command
|
O comando a ser executado ou caminho do executável/script relativo a Valor padrão: None
|
name
|
O nome da etapa. Se não for especificado, será usada a primeira palavra no Valor padrão: None
|
compute_target
|
O destino de computação a ser usado. Quando não é especificado, o destino de Valor padrão: None
|
runconfig
|
O objeto de configuração opcional que encapsula as informações necessárias para enviar uma execução de treinamento em um experimento. Valor padrão: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
Substituições das propriedades runconfig no runtime usando pares chave-valor pelo nome da propriedade runconfig e o PipelineParameter de cada propriedade. Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount' e 'TensorflowParameterServerCount' Valor padrão: None
|
inputs
|
list[InputPortBinding ou
DataReference ou
PortDataReference ou
PipelineData ou
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> ou
DatasetConsumptionConfig]
Uma lista de associações de porta de entrada. Valor padrão: None
|
outputs
|
Uma lista de vinculações de porta de saída. Valor padrão: None
|
params
|
Um dicionário de pares nome-valor registrados como variáveis de ambiente com "AML_PARAMETER_". Valor padrão: None
|
source_directory
|
Uma pasta que contém scripts, conda env e outros recursos usados na etapa. Valor padrão: None
|
allow_reuse
|
Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração da definição do conjunto de dados, não de ter havido alteração dos dados subjacentes. Valor padrão: True
|
version
|
Uma marca de versão opcional para denotar uma alteração na funcionalidade da etapa. Valor padrão: None
|
command
Obrigatório
|
O comando a ser executado ou caminho do executável/script relativo a |
name
Obrigatório
|
O nome da etapa. Se não for especificado, será usada a primeira palavra no |
compute_target
Obrigatório
|
O destino de computação a ser usado. Quando não é especificado, o destino de |
runconfig
Obrigatório
|
O objeto de configuração opcional que encapsula as informações necessárias para enviar uma execução de treinamento em um experimento. |
runconfig_pipeline_params
Obrigatório
|
<xref:<xref:{str: PipelineParameter}>>
Substituições das propriedades runconfig no runtime usando pares chave-valor pelo nome da propriedade runconfig e o PipelineParameter de cada propriedade. Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount' e 'TensorflowParameterServerCount' |
inputs
Obrigatório
|
list[InputPortBinding ou
DataReference ou
PortDataReference ou
PipelineData ou
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> ou
DatasetConsumptionConfig]
Uma lista de associações de porta de entrada. |
outputs
Obrigatório
|
Uma lista de vinculações de porta de saída. |
params
Obrigatório
|
Um dicionário de pares nome-valor registrados como variáveis de ambiente com "AML_PARAMETER_". |
source_directory
Obrigatório
|
Uma pasta que contém scripts, conda env e outros recursos usados na etapa. |
allow_reuse
Obrigatório
|
Indica se a etapa deve ou não reutilizar os resultados anteriores quando executada novamente com as mesmas configurações. A reutilização está habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), as entradas e os parâmetros permanecerem inalterados, será reutilizada a saída da execução anterior dessa etapa. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior serão disponibilizados imediatamente para etapas posteriores. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada dependendo de ter havido ou não alteração da definição do conjunto de dados, não de ter havido alteração dos dados subjacentes. |
version
Obrigatório
|
Uma marca de versão opcional para denotar uma alteração na funcionalidade da etapa. |
Comentários
Um CommandStep é uma etapa básica e integrada para executar um comando no destino de computação fornecido. Ele usa um comando como parâmetro ou de outros parâmetros, como runconfig. Também aceita outros parâmetros opcionais, como destino de computação, entradas e saídas. Você deve usar um ScriptRunConfig ou RunConfiguration para especificar os requisitos do CommandStep, como uma imagem do Docker personalizada.
A melhor prática para trabalhar com CommandStep é usar uma pasta separada para o executável ou o script para executar os arquivos dependentes associados à etapa e especificar essa pasta com o parâmetro source_directory
. Essa melhor prática oferece dois benefícios. Primeiro, ajuda a reduzir o tamanho do instantâneo criado para a etapa porque o instantâneo captura apenas o que é necessário nessa etapa.
Segundo, é possível reutilizar a saída da etapa de uma execução anterior quando não há alterações no source_directory
que disparariam um novo upload do instantâneo.
Para os comandos conhecidos do sistema, source_directory
não é necessário, mas você ainda poderá fornecer a ele os arquivos dependentes associados à etapa.
O exemplo de código a seguir mostra como usar um CommandStep em um cenário de treinamento de aprendizado de máquina. Para listar arquivos no Linux:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
Para executar um script do Python:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='train step',
command='python train.py arg1 arg2',
source_directory=project_folder,
compute_target=compute_target)
Para executar um script do Python via ScriptRunConfig:
from azureml.core import ScriptRunConfig
from azureml.pipeline.steps import CommandStep
train_src = ScriptRunConfig(source_directory=script_folder,
command='python train.py arg1 arg2',
environment=my_env)
trainStep = CommandStep(name='train step',
runconfig=train_src)
Confira https://aka.ms/pl-first-pipeline para obter mais detalhes sobre como criar pipelines em geral.
Métodos
create_node |
Cria um nó para CommandStep e adicione-o ao grafo especificado. Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho. |
create_node
Cria um nó para CommandStep e adicione-o ao grafo especificado.
Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com essa etapa, o Azure ML passa automaticamente os parâmetros necessários por meio desse método para que essa etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.
create_node(graph, default_datastore, context)
Parâmetros
Nome | Description |
---|---|
graph
Obrigatório
|
O objeto de grafo ao qual adicionar o nó. |
default_datastore
Obrigatório
|
O armazenamento de dados padrão. |
context
Obrigatório
|
<xref:_GraphContext>
O contexto do grafo. |
Retornos
Tipo | Description |
---|---|
O nó criado. |