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._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
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
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
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
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}>>
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]
Uma lista de enlaces de portas de entrada.
- outputs
- list[PipelineData ou OutputDatasetConfig ou PipelineOutputAbstractDataset ou OutputPortBinding]
Uma lista de enlaces de portas de saída.
- params
- dict
Um dicionário de pares nome-valor registados como variáveis de ambiente com "AML_PARAMETER_".
- source_directory
- str
Uma pasta que contém scripts, conda env e outros recursos utilizados no passo.
- allow_reuse
- bool
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
Uma etiqueta de versão opcional para denotar uma alteração na funcionalidade do passo.
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
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
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
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}>>
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]
Uma lista de enlaces de portas de entrada.
- outputs
- list[PipelineData ou OutputDatasetConfig ou PipelineOutputAbstractDataset ou OutputPortBinding]
Uma lista de enlaces de portas de saída.
- params
- dict
Um dicionário de pares nome-valor registados como variáveis de ambiente com "AML_PARAMETER_".
- source_directory
- str
Uma pasta que contém scripts, conda env e outros recursos utilizados no passo.
- allow_reuse
- bool
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
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
- default_datastore
- AbstractAzureStorageDatastore ou AzureDataLakeDatastore
O arquivo de dados predefinido.
- context
- <xref:_GraphContext>
O contexto do gráfico.
Devoluções
O nó criado.
Tipo de retorno
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários