Compartilhar via


PipelineStep Classe

Representa uma etapa de execução em um pipeline do Azure Machine Learning.

Os pipelines são construídos a partir de várias etapas de pipeline, que são unidades computacionais distintas no pipeline. Cada etapa pode ser executada de forma independente e usar recursos de computação isolados. Cada etapa normalmente tem suas próprias entradas nomeadas, saídas e parâmetros.

A classe PipelineStep é a classe base da qual outras classes de etapas internas projetadas para cenários comuns herdam, como PythonScriptStep, DataTransferStepe HyperDriveStep.

Para obter uma visão geral de como pipelines e PipelineSteps se relacionam, consulte o que são pipelines de ML.

Inicializar PipelineStep.

Construtor

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

Parâmetros

Nome Description
name
Obrigatório
str

O nome da etapa de pipeline.

inputs
Obrigatório

A lista de entradas de etapa.

outputs
Obrigatório

A lista de saídas de etapas.

arguments

Uma lista opcional de argumentos a serem passados para um script usado na etapa.

Valor padrão: None
fix_port_name_collisions

Especifica se as colisões de nome devem ser corrigidas. Se True e uma entrada e saída tiverem o mesmo nome, a entrada será prefixada com "INPUT". O padrão é False.

Valor padrão: False
resource_inputs

Uma lista opcional de entradas a serem usadas como recursos. Os recursos são baixados para a pasta de script e fornecem uma maneira de alterar o comportamento do script em tempo de execução.

Valor padrão: None
name
Obrigatório
str

O nome da etapa de pipeline.

inputs
Obrigatório

A lista de entradas de etapa.

outputs
Obrigatório

A lista de saídas de etapas.

arguments
Obrigatório

Uma lista opcional de argumentos a serem passados para um script usado na etapa.

fix_port_name_collisions
Obrigatório

Especifica se as colisões de nome devem ser corrigidas. Se True e uma entrada e saída tiverem o mesmo nome, a entrada será prefixada com "INPUT". O padrão é False.

resource_inputs
Obrigatório

Uma lista opcional de entradas a serem usadas como recursos. Os recursos são baixados para a pasta de script e fornecem uma maneira de alterar o comportamento do script em tempo de execução.

Comentários

Um PipelineStep é uma unidade de execução que normalmente precisa de um destino de execução (destino de computação), um script a ser executado com entradas e argumentos de script opcionais e pode produzir saídas. A etapa também pode levar uma série de outros parâmetros específicos à etapa.

As etapas de pipeline podem ser configuradas em conjunto para construir um Pipelinefluxo de trabalho compartilhável e reutilizável do Azure Machine Learning. Cada etapa de um pipeline pode ser configurada para permitir a reutilização de seus resultados de execução anteriores se o conteúdo da etapa (scripts/dependências), bem como entradas e parâmetros permanecerem inalterados. Ao reutilizar a etapa, em vez de enviar o trabalho para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes.

O Azure Machine Learning Pipelines fornece etapas internas para cenários comuns. Para obter exemplos, consulte o steps pacote e a AutoMLStep classe. Para obter uma visão geral sobre como construir um Pipeline com base em etapas pré-criadas, consulte https://aka.ms/pl-first-pipeline.

As etapas predefinidas derivadas do PipelineStep são etapas usadas em um pipeline. Se o fluxo de trabalho de machine learning usar chamadas para criar etapas que podem ser usadas em diferentes pipelines, use a Module classe.

Tenha o seguinte em mente ao trabalhar com etapas de pipeline, dados de entrada/saída e reutilização de etapas.

  • É recomendável que você use locais source_directory separados para etapas separadas. Se todos os scripts em suas etapas de pipeline estiverem em um único diretório, o hash desse diretório será alterado sempre que você fizer uma alteração em um script forçando todas as etapas a serem executadas novamente. Para obter um exemplo de como usar diretórios separados para diferentes etapas, consulte https://aka.ms/pl-get-started.

  • Manter pastas separadas para scripts e arquivos dependentes para cada etapa ajuda a reduzir o tamanho do instantâneo criado para cada etapa, pois somente a pasta específica é instantâneo. Como as alterações em todos os arquivos no source_directory da etapa disparam um re upload do instantâneo, manter pastas separadas a cada etapa, ajuda a reutilização excessiva das etapas no pipeline, pois se não houver alterações no source_directory de uma etapa, a execução anterior da etapa será reutilizado.

  • Se os dados usados em uma etapa estiverem em um armazenamento de dados e allow_reuse for True, as alterações na alteração de dados não serão detectadas. Se os dados forem carregados como parte do instantâneo (na source_directory da etapa), embora isso não seja recomendado, o hash será alterado e disparará uma nova execução.

Métodos

create_input_output_bindings

Crie associações de entrada e saída das entradas e saídas da etapa.

create_module_def

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

create_node

Crie um nó para o grafo de pipeline com base nesta etapa.

get_source_directory

Obtenha o diretório de origem para a etapa e verifique se o script existe.

resolve_input_arguments

Corresponda entradas e saídas a argumentos para produzir uma cadeia de caracteres de argumento.

run_after

Execute esta etapa após a etapa especificada.

validate_arguments

Valide se as entradas e saídas da etapa fornecidas nos argumentos estão nas listas de entradas e saídas.

create_input_output_bindings

Crie associações de entrada e saída das entradas e saídas da etapa.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

Parâmetros

Nome Description
inputs
Obrigatório

A lista de entradas de etapa.

outputs
Obrigatório

A lista de saídas de etapas.

default_datastore
Obrigatório

O armazenamento de dados padrão.

resource_inputs

A lista de entradas a serem usadas como recursos. Os recursos são baixados para a pasta de script e fornecem uma maneira de alterar o comportamento do script em tempo de execução.

Valor padrão: None

Retornos

Tipo Description

Tupla das associações de entrada e associações de saída.

create_module_def

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

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=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âmetro de etapa.

Valor padrão: None
create_sequencing_ports

Especifica se as portas de sequenciamento serão criadas para o módulo.

Valor padrão: True
allow_reuse

Especifica se o módulo estará disponível para ser reutilizado em pipelines futuros.

Valor padrão: True
version
str

A versão do módulo.

Valor padrão: None
module_type
str

O tipo de módulo para o serviço de criação de módulo a ser criado. Atualmente, há suporte apenas para dois tipos: 'None' e 'BatchInferencing'. module_type é diferente do execution_type qual especifica que tipo de serviço de back-end usar para executar este módulo.

Valor padrão: None
arguments

Lista de argumentos anotados a serem usados ao chamar este módulo

Valor padrão: None
runconfig
str

Runconfig que será usado para python_script_step

Valor padrão: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Configurações que serão usadas para nuvens

Valor padrão: None

Retornos

Tipo Description

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

create_node

Crie um nó para o grafo de pipeline com base nesta etapa.

abstract create_node(graph, default_datastore, context)

Parâmetros

Nome Description
graph
Obrigatório

O grafo ao qual adicionar o nó.

default_datastore
Obrigatório

O armazenamento de dados padrão a ser usado para esta etapa.

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

O objeto de contexto do grafo.

Retornos

Tipo Description

O nó criado.

get_source_directory

Obtenha o diretório de origem para a etapa e verifique se o script existe.

get_source_directory(context, source_directory, script_name)

Parâmetros

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

O objeto de contexto do grafo.

source_directory
Obrigatório
str

O diretório de origem da etapa.

script_name
Obrigatório
str

O nome do script da etapa.

hash_paths
Obrigatório

Os caminhos de hash a serem usados ao determinar a impressão digital do módulo.

Retornos

Tipo Description

O diretório de origem e os caminhos de hash.

resolve_input_arguments

Corresponda entradas e saídas a argumentos para produzir uma cadeia de caracteres de argumento.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parâmetros

Nome Description
arguments
Obrigatório

Uma lista de argumentos de etapa.

inputs
Obrigatório

Uma lista de entradas de etapa.

outputs
Obrigatório

Uma lista de saídas de etapas.

params
Obrigatório

Uma lista de parâmetros de etapa.

Retornos

Tipo Description

Retorna uma tupla de dois itens. A primeira é uma lista simples de itens para os argumentos resolvidos. A segunda é uma lista de argumentos estruturados (_InputArgument, _OutputArgument, _ParameterArgument e _StringArgument)

run_after

Execute esta etapa após a etapa especificada.

run_after(step)

Parâmetros

Nome Description
step
Obrigatório

A etapa de pipeline a ser executada antes desta etapa.

Comentários

Se você quiser executar uma etapa, digamos, etapa3 após a conclusão das etapas 1 e 2, você poderá usar:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

Valide se as entradas e saídas da etapa fornecidas nos argumentos estão nas listas de entradas e saídas.

static validate_arguments(arguments, inputs, outputs)

Parâmetros

Nome Description
arguments
Obrigatório

A lista de argumentos de etapa.

inputs
Obrigatório

A lista de entradas de etapa.

outputs
Obrigatório

A lista de saídas de etapas.