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._ParallelRunStepBaseParallelRunStep
Construtor
ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)
Parâmetros
- name
- 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
- ParallelRunConfig
Um objeto ParallelRunConfig utilizado para determinar as propriedades de execução necessárias.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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.
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]]
Lista de dados de referência de entrada lateral. As entradas laterais não serão particionadas como dados de entrada.
Lista de argumentos da linha de comandos a transmitir para o entry_script python.
- allow_reuse
- bool
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
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
Um objeto ParallelRunConfig utilizado para determinar as propriedades de execução necessárias.
- inputs
- list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
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
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]]
Lista de dados de referência de entrada lateral. As entradas laterais não serão particionadas como dados de entrada.
Lista de argumentos da linha de comandos a transmitir para o entry_script python.
- allow_reuse
- bool
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:
Tutorial: Criar um pipeline do Azure Machine Learning para classificação em lote. Este artigo mostra como utilizar estas duas classes para a classificação em lotes assíncrona num pipeline e permitir que um ponto final REST possa executar o pipeline.
Executar a inferência de lote em grandes quantidades de dados com o Azure Machine Learning. Este artigo mostra como processar grandes quantidades de dados de forma assíncrona e em paralelo com um script de inferência personalizado e um modelo de classificação de imagens pré-preparado baseado no conjunto de dados MNIST.
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
- create_sequencing_ports
- bool
Se for verdadeiro, serão criadas portas de sequenciação para o módulo.
- allow_reuse
- bool
Se for verdadeiro, o módulo estará disponível para ser reutilizado em Pipelines futuros.
- arguments
- list
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
- default_datastore
- AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Arquivo de dados predefinido.
- context
- <xref:azureml.pipeline.core._GraphContext>
Contexto.
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