CommandStep Classe

Crie um passo do Pipeline do Azure ML que execute um comando.

Crie um passo do Pipeline do Azure ML que execute um comando.

Herança
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

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

command
list ou str
valor predefinido: None

O comando a executar ou o caminho do executável/script relativo a source_directory. É necessário, a menos que seja fornecido com runconfig. Pode ser especificado com argumentos de cadeia numa única cadeia ou com entrada/saída/PipelineParameter numa lista.

name
str
valor predefinido: None

O nome do passo. Se não for especificado, é utilizada a primeira palavra na command .

compute_target
DsvmCompute ou AmlCompute ou RemoteCompute ou HDInsightCompute ou str ou tuple
valor predefinido: None

O destino de computação a utilizar. Se não for especificado, o destino do runconfig é utilizado. Este parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de carateres de um destino de computação na área de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, poderá especificar uma cadeia de identificação de ("nome de destino de computação", "tipo de destino de computação") para evitar obter o objeto de destino de computação (o tipo AmlCompute é "AmlCompute" e o tipo RemoteCompute é "VirtualMachine").

runconfig
ScriptRunConfig ou RunConfiguration
valor predefinido: None

O objeto de configuração opcional que encapsula as informações necessárias para submeter uma execução de preparação numa experimentação.

runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>
valor predefinido: None

Substituições de propriedades de runconfig no runtime através de pares chave-valor cada uma com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

Valores suportados: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

inputs
list[InputPortBinding ou DataReference ou PortDataReference ou PipelineData ou <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> ou DatasetConsumptionConfig]
valor predefinido: None

Uma lista de enlaces de portas de entrada.

outputs
list[PipelineData ou OutputDatasetConfig ou PipelineOutputAbstractDataset ou OutputPortBinding]
valor predefinido: None

Uma lista de enlaces de portas de saída.

params
dict
valor predefinido: None

Um dicionário de pares nome-valor registados como variáveis de ambiente com "AML_PARAMETER_".

source_directory
str
valor predefinido: None

Uma pasta que contém scripts, conda env e outros recursos utilizados no passo.

allow_reuse
bool
valor predefinido: True

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização é determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

version
str
valor predefinido: None

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

command
list ou str
Necessário

O comando a executar ou o caminho do executável/script relativo a source_directory. É necessário, a menos que seja fornecido com runconfig. Pode ser especificado com argumentos de cadeia numa única cadeia ou com entrada/saída/PipelineParameter numa lista.

name
str
Necessário

O nome do passo. Se não for especificado, é utilizada a primeira palavra na command .

compute_target
DsvmCompute ou AmlCompute ou RemoteCompute ou HDInsightCompute ou str ou tuple
Necessário

O destino de computação a utilizar. Se não for especificado, o destino do runconfig é utilizado. Este parâmetro pode ser especificado como um objeto de destino de computação ou o nome da cadeia de carateres de um destino de computação na área de trabalho. Opcionalmente, se o destino de computação não estiver disponível no momento da criação do pipeline, poderá especificar uma cadeia de identificação de ("nome de destino de computação", "tipo de destino de computação") para evitar obter o objeto de destino de computação (o tipo AmlCompute é "AmlCompute" e o tipo RemoteCompute é "VirtualMachine").

runconfig
ScriptRunConfig ou RunConfiguration
Necessário

O objeto de configuração opcional que encapsula as informações necessárias para submeter uma execução de preparação numa experimentação.

runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>
Necessário

Substituições de propriedades de runconfig no runtime através de pares chave-valor cada uma com o nome da propriedade runconfig e PipelineParameter para essa propriedade.

Valores suportados: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

inputs
list[InputPortBinding ou DataReference ou PortDataReference ou PipelineData ou <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> ou DatasetConsumptionConfig]
Necessário

Uma lista de enlaces de portas de entrada.

outputs
list[PipelineData ou OutputDatasetConfig ou PipelineOutputAbstractDataset ou OutputPortBinding]
Necessário

Uma lista de enlaces de portas de saída.

params
dict
Necessário

Um dicionário de pares nome-valor registados como variáveis de ambiente com "AML_PARAMETER_".

source_directory
str
Necessário

Uma pasta que contém scripts, conda env e outros recursos utilizados no passo.

allow_reuse
bool
Necessário

Indica se o passo deve reutilizar os resultados anteriores ao executar novamente com as mesmas definições. A reutilização está ativada por predefinição. Se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados, o resultado da execução anterior deste passo será reutilizado. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes. Se utilizar conjuntos de dados do Azure Machine Learning como entradas, a reutilização é determinada se a definição do conjunto de dados foi alterada e não se os dados subjacentes foram alterados.

version
str
Necessário

Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.

Observações

Um CommandStep é um passo básico incorporado para executar um comando no destino de computação especificado. Assume um comando como um parâmetro ou a partir de outros parâmetros, como runconfig. Também utiliza outros parâmetros opcionais, como destino de computação, entradas e saídas. Deve utilizar um ScriptRunConfig ou RunConfiguration para especificar requisitos para o CommandStep, como a imagem personalizada do docker.

A melhor prática para trabalhar com CommandStep é utilizar uma pasta separada para o executável ou script para executar quaisquer ficheiros dependentes associados ao passo e especificar essa pasta com o source_directory parâmetro . Seguir esta melhor prática tem duas vantagens. Em primeiro lugar, ajuda a reduzir o tamanho do instantâneo criado para o passo, porque apenas o que é necessário para o passo é instantâneo. Em segundo lugar, o resultado do passo de uma execução anterior pode ser reutilizado se não existirem alterações no source_directory que acionem um novo carregamento do instantâneo.

Para os comandos conhecidos source_directory pelo sistema não é necessário, mas ainda pode fornecer-lhe quaisquer ficheiros dependentes associados ao passo.

O exemplo de código seguinte mostra como utilizar um CommandStep num cenário de preparação de machine learning. Para listar ficheiros 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 através 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)

Veja https://aka.ms/pl-first-pipeline para obter mais detalhes sobre como criar pipelines em geral.

Métodos

create_node

Crie um nó para CommandStep e adicione-o ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que representa o fluxo de trabalho.

create_node

Crie um nó para CommandStep e adicione-o ao gráfico especificado.

Este método não se destina a ser utilizado diretamente. Quando um pipeline é instanciado com este passo, o Azure ML transmite automaticamente os parâmetros necessários através deste método para que esse passo possa ser adicionado a um gráfico de pipeline que representa o fluxo de trabalho.

create_node(graph, default_datastore, context)

Parâmetros

graph
Graph
Necessário

O objeto de gráfico ao que adicionar o nó.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

O arquivo de dados predefinido.

context
<xref:_GraphContext>
Necessário

O contexto do gráfico.

Devoluções

O nó criado.

Tipo de retorno