ParallelRunStep Classe

Cria uma etapa de Pipeline do Azure Machine Learning para processar grandes volumes de dados de maneira assíncrona e paralela.

Para obter um exemplo de uso do ParallelRunStep, confira o https://aka.ms/batch-inference-notebooks do notebook.

Para obter o guia de solução de problemas, confira https://aka.ms/prstsg. Você pode encontrar mais referências nesse guia.

Crie uma etapa do Pipeline do Azure ML para processar grandes quantidades de dados de forma assíncrona e paralela.

Para obter um exemplo de como usar ParallelRunStep, consulte o link https://aka.ms/batch-inference-notebooksdo notebook .

Herança
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Construtor

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Parâmetros

Nome Description
name
Obrigatório
str

Nome da etapa. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres.

parallel_run_config
Obrigatório

Um objeto ParallelRunConfig usado para determinar as propriedades de execução necessárias.

inputs
Obrigatório

Lista de conjuntos de dados de entrada. Todos os conjuntos de valores na lista devem ser do mesmo tipo. Os dados de entrada serão particionados para processamento paralelo. Cada conjunto de conjuntos da lista é particionado em minilotes separadamente, e cada um dos lotes é tratado igualmente no processamento paralelo.

output

A associação de porta de saída pode ser usada por etapas de pipeline posteriores.

Valor padrão: None
side_inputs

Lista de dados de referência de entrada lateral. As entradas laterais não serão particionadas como dados de entrada.

Valor padrão: None
arguments

Lista de argumentos de linha de comando a serem passados para o entry_script do Python.

Valor padrão: None
allow_reuse

Se a etapa deve reutilizar os resultados anteriores quando executada com as mesmas configurações/entradas. Se for false, uma nova execução sempre será gerada para essa etapa durante a execução do pipeline.

Valor padrão: True
name
Obrigatório
str

Nome da etapa. Deve ser exclusivo ao workspace, ter apenas letras minúsculas, números ou traços, começar com uma letra e ter entre 3 e 32 caracteres.

parallel_run_config
Obrigatório

Um objeto ParallelRunConfig usado para determinar as propriedades de execução necessárias.

inputs
Obrigatório

Lista de conjuntos de dados de entrada. Todos os conjuntos de valores na lista devem ser do mesmo tipo. Os dados de entrada serão particionados para processamento paralelo. Cada conjunto de conjuntos da lista é particionado em minilotes separadamente, e cada um dos lotes é tratado igualmente no processamento paralelo.

output
Obrigatório

A associação de porta de saída pode ser usada por etapas de pipeline posteriores.

side_inputs
Obrigatório

Lista de dados de referência de entrada lateral. As entradas laterais não serão particionadas como dados de entrada.

arguments
Obrigatório

Lista de argumentos de linha de comando a serem passados para o entry_script do Python.

allow_reuse
Obrigatório

Se a etapa deve reutilizar os resultados anteriores quando executada com as mesmas configurações/entradas. Se for false, uma nova execução sempre será gerada para essa etapa durante a execução do pipeline.

Comentários

ParallelRunStep pode ser usado para processar grandes quantidades de dados em paralelo. Casos de uso comuns são treinar um modelo de ML ou executar inferência offline para gerar previsões em um lote de observações. O ParallelRunStep funciona separando seus dados em lotes que são processados em paralelo. A contagem de nós de tamanho do lote e outros parâmetros que podem ser reduzidos para acelerar o processamento paralelo podem ser controlados com a classe ParallelRunConfig. O ParallelRunStep pode funcionar com TabularDataset ou FileDataset como entrada.

Para usar ParallelRunStep:

  • Crie um objeto ParallelRunConfig para especificar como o processamento em lotes é executado, com parâmetros para controlar o tamanho do lote, o número de nós por destino de computação e uma referência ao script Python personalizado.

  • Crie um objeto ParallelRunStep que usa o objeto ParallelRunConfig e defina entradas e saídas para a etapa.

  • Use o objeto ParallelRunStep configurado em um Pipeline da mesma forma que faria com outros tipos de etapa de pipeline.

Exemplos de trabalho com classes ParallelRunStep e ParallelRunConfig para inferência em lote são discutidos nos seguintes artigos:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

Para obter mais informações sobre esse exemplo, confira o https://aka.ms/batch-inference-notebooks do notebook.

Métodos

create_module_def

Crie o objeto de definição do módulo que descreve a etapa.

Esse método não deve ser usado diretamente.

create_node

Crie um nó para PythonScriptStep e adicione-o ao grafo especificado.

Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com ParallelRunStep, o Azure Machine Learning passa automaticamente os parâmetros necessários por meio desse método para que a etapa possa ser adicionada a um grafo de pipeline que representa o fluxo de trabalho.

create_module_def

Crie o objeto de definição do módulo que descreve a etapa.

Esse método não deve ser usado diretamente.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)

Parâmetros

Nome Description
execution_type
Obrigatório
str

O tipo de execução do módulo.

input_bindings
Obrigatório

As associações de entrada da etapa.

output_bindings
Obrigatório

As associações de saída da etapa.

param_defs

As definições de parâmetros da etapa.

Valor padrão: None
create_sequencing_ports

Se true, as portas de sequenciamento serão criadas para o módulo.

Valor padrão: True
allow_reuse

Se true, o módulo estará disponível para ser reutilizado em futuros pipelines.

Valor padrão: True
version
str

A versão do módulo.

Valor padrão: None
arguments

Lista de argumentos anotados a ser usada ao chamar esse módulo.

Valor padrão: None

Retornos

Tipo Description

O objeto de definição do módulo.

create_node

Crie um nó para PythonScriptStep e adicione-o ao grafo especificado.

Esse método não deve ser usado diretamente. Quando um pipeline é instanciado com ParallelRunStep, o Azure Machine Learning passa automaticamente os parâmetros necessários por meio desse método para que a 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

Objeto de gráfico.

default_datastore
Obrigatório

Armazenamento de dados padrão.

context
Obrigatório
<xref:azureml.pipeline.core._GraphContext>

Contexto.

Retornos

Tipo Description

O nó criado.