ParallelRunStep Classe

Cria um passo do Pipeline do Azure Machine Learning para processar grandes quantidades de dados de forma assíncrona e paralela.

Para obter um exemplo de utilização de ParallelRunStep, consulte o bloco de notas https://aka.ms/batch-inference-notebooks.

Para obter o guia de resolução de problemas, consulte https://aka.ms/prstsg. Pode encontrar mais referências aqui.

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

Para obter um exemplo de utilização de ParallelRunStep, veja a ligação do bloco de notas https://aka.ms/batch-inference-notebooks.

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

Name Description
name
Necessário
str

Nome do passo. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou travessões, começar com uma letra e ter entre 3 e 32 carateres.

parallel_run_config
Necessário

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

inputs
Necessário

Lista de conjuntos de dados de entrada. Todos os conjuntos de dados na lista devem ser do mesmo tipo. Os dados de entrada serão particionados para processamento paralelo. Cada conjunto de dados na lista é particionado em mini-lotes separadamente e cada um dos mini-lotes é tratado de forma igual no processamento paralelo.

output

O enlace da porta de saída pode ser utilizado por passos de pipeline posteriores.

valor predefinido: 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 predefinido: None
arguments

Lista de argumentos da linha de comandos a transmitir para o entry_script python.

valor predefinido: None
allow_reuse

Se o passo deve reutilizar os resultados anteriores quando executado com as mesmas definições/entradas. Se for falso, será sempre gerada uma nova execução para este passo durante a execução do pipeline.

valor predefinido: True
name
Necessário
str

Nome do passo. Tem de ser exclusivo da área de trabalho, consistir apenas em letras minúsculas, números ou travessões, começar com uma letra e ter entre 3 e 32 carateres.

parallel_run_config
Necessário

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

inputs
Necessário

Lista de conjuntos de dados de entrada. Todos os conjuntos de dados na lista devem ser do mesmo tipo. Os dados de entrada serão particionados para processamento paralelo. Cada conjunto de dados na lista é particionado em mini-lotes separadamente e cada um dos mini-lotes é tratado de forma igual no processamento paralelo.

output
Necessário

O enlace da porta de saída pode ser utilizado por passos de pipeline posteriores.

side_inputs
Necessário

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

arguments
Necessário

Lista de argumentos da linha de comandos a transmitir para o entry_script python.

allow_reuse
Necessário

Se o passo deve reutilizar os resultados anteriores quando executado com as mesmas definições/entradas. Se for falso, será sempre gerada uma nova execução para este passo durante a execução do pipeline.

Observações

ParallelRunStep pode ser utilizado para o processamento de grandes quantidades de dados em paralelo. Alguns casos de utilização comuns incluem a preparação de modelos de ML ou a execução de inferências offline para gerar predições num lote de observações. ParallelRunStep funciona ao dividir os seus dados em lotes que são processados em paralelo. A contagem de nós de tamanho do lote e outros parâmetros atumáveis para acelerar o processamento paralelo podem ser controlados com a ParallelRunConfig classe . ParallelRunStep pode funcionar com ou TabularDatasetFileDataset como entrada.

Para utilizar ParallelRunStep:

  • Crie um ParallelRunConfig objeto para especificar a forma 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 utilize o objeto ParallelRunConfig e defina entradas e saídas para o passo.

  • Utilize o objeto ParallelRunStep configurado tal Pipeline como faria com outros tipos de passos de pipeline.

Os exemplos de trabalho com classes ParallelRunStep e ParallelRunConfig para inferência de lotes são abordados 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 este exemplo, consulte o bloco de notas https://aka.ms/batch-inference-notebooks.

Métodos

create_module_def

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

Este método não se destina a ser utilizado diretamente.

create_node

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

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

create_module_def

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

Este método não se destina a ser utilizado 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

Name Description
execution_type
Necessário
str

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

input_bindings
Necessário

Os enlaces de entrada de passos.

output_bindings
Necessário

Os enlaces de saída do passo.

param_defs

As definições de parâmetro de passo.

valor predefinido: None
create_sequencing_ports

Se for verdadeiro, serão criadas portas de sequenciação para o módulo.

valor predefinido: True
allow_reuse

Se for verdadeiro, o módulo estará disponível para ser reutilizado em Pipelines futuros.

valor predefinido: True
version
str

A versão do módulo.

valor predefinido: None
arguments

Lista de argumentos anotados a utilizar ao chamar este módulo.

valor predefinido: None

Devoluções

Tipo Description

O objeto module def.

create_node

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

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

create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

Objeto de gráfico.

default_datastore
Necessário

Arquivo de dados predefinido.

context
Necessário
<xref:azureml.pipeline.core._GraphContext>

Contexto.

Devoluções

Tipo Description

O nó criado.