CommandStep Classe
Crie uma etapa do Pipeline do Azure ML que executa um comando.
Crie uma etapa do Pipeline do Azure ML que executa um comando.
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 o caminho do executável/script relativo a Valor padrão: None
|
|
name
|
O nome da etapa. Se não for especificado, a primeira palavra na Valor padrão: None
|
|
compute_target
|
O destino de computação a ser usado. Se não for especificado, o destino do 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 as propriedades de runconfig em runtime usando pares chave-valor cada um com o nome da propriedade runconfig e PipelineParameter para essa propriedade. Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', '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 associaçõ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 reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), bem como entradas e parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados. Valor padrão: True
|
|
version
|
Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa. Valor padrão: None
|
|
command
Obrigatório
|
O comando a ser executado ou o caminho do executável/script relativo a |
|
name
Obrigatório
|
O nome da etapa. Se não for especificado, a primeira palavra na |
|
compute_target
Obrigatório
|
O destino de computação a ser usado. Se não for especificado, o destino do |
|
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 as propriedades de runconfig em runtime usando pares chave-valor cada um com o nome da propriedade runconfig e PipelineParameter para essa propriedade. Valores com suporte: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', '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 associaçõ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 reutilizar os resultados anteriores ao executar novamente com as mesmas configurações. A reutilização é habilitada por padrão. Se o conteúdo da etapa (scripts/dependências), bem como entradas e parâmetros permanecerem inalterados, a saída da execução anterior desta etapa será reutilizado. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes. Se você usar conjuntos de dados do Azure Machine Learning como entradas, a reutilização será determinada se a definição do conjunto de dados foi alterada, não se os dados subjacentes foram alterados. |
|
version
Obrigatório
|
Uma marca de versão opcional para indicar uma alteração na funcionalidade da etapa. |
Comentários
Um CommandStep é uma etapa básica e interna para executar um comando no destino de computação especificado. Ele usa um comando como um parâmetro ou de outros parâmetros, como runconfig. Ele também usa outros parâmetros opcionais, como destino de computação, entradas e saídas. Você deve usar um ScriptRunConfig ou RunConfiguration especificar requisitos para o CommandStep, como a imagem personalizada do Docker.
A melhor prática para trabalhar com CommandStep é usar uma pasta separada para o executável ou script para executar quaisquer arquivos dependentes associados à etapa e especificar essa pasta com o source_directory parâmetro. Seguir essa prática recomendada tem dois benefícios. Primeiro, ele ajuda a reduzir o tamanho do instantâneo criado para a etapa, pois somente o que é necessário para a etapa é instantâneo.
Em segundo lugar, a saída da etapa de uma execução anterior poderá ser reutilizado se não houver alterações no source_directory que dispararia um upload novamente do instantâneo.
Para os comandos conhecidos source_directory pelo sistema não é necessário, mas você ainda pode fornecê-lo com quaisquer arquivos dependentes associados à etapa.
O exemplo de código a seguir mostra como usar um CommandStep em um cenário de treinamento de machine learning. 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 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 python por meio de 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 mais detalhes sobre como criar pipelines em geral.
Métodos
| create_node |
Crie um nó para CommandStep e adicione-o ao grafo especificado. Esse método não se destina a 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
Crie um nó para CommandStep e adicione-o ao grafo especificado.
Esse método não se destina a 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. |