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
str
Necessário

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
ParallelRunConfig
Necessário

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

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
valor predefinido: None

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

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
valor predefinido: None

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

arguments
list[str]
valor predefinido: None

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

allow_reuse
bool
valor predefinido: True

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.

name
str
Necessário

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
ParallelRunConfig
Necessário

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

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
PipelineData, OutputPortBinding
Necessário

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

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Necessário

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

arguments
list[str]
Necessário

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

allow_reuse
bool
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

execution_type
str
Necessário

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

input_bindings
list
Necessário

Os enlaces de entrada de passos.

output_bindings
list
Necessário

Os enlaces de saída do passo.

param_defs
list
valor predefinido: None

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

create_sequencing_ports
bool
valor predefinido: True

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

allow_reuse
bool
valor predefinido: True

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

version
str
valor predefinido: None

A versão do módulo.

arguments
list
valor predefinido: None

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

Devoluções

O objeto module def.

Tipo de retorno

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

graph
Graph
Necessário

Objeto de gráfico.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

Arquivo de dados predefinido.

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

Contexto.

Devoluções

O nó criado.

Tipo de retorno