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. Normalmente, cada etapa tem as próprias entradas, saídas e parâmetros nomeados.

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

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

Inicializar PipelineStep.

Herança
builtins.object
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 do pipeline.

inputs
Obrigatório

A lista de entradas da etapa.

outputs
Obrigatório

A lista de saídas de etapa.

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 é necessário corrigir colisões de nome. Se True e uma entrada e saída tiverem o mesmo nome, a entrada é 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 do script e fornecem uma forma de alterar o comportamento do script em tempo de execução.

Valor padrão: None
name
Obrigatório
str

O nome da etapa do pipeline.

inputs
Obrigatório

A lista de entradas da etapa.

outputs
Obrigatório

A lista de saídas de etapa.

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 é necessário corrigir colisões de nome. Se True e uma entrada e saída tiverem o mesmo nome, a entrada é 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 do script e fornecem uma forma 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 receber outros parâmetros específicos da etapa.

As etapas do Pipeline podem ser configuradas em conjunto para criar um Pipeline, que representa um fluxo de trabalho compartilhável e reutilizável do Azure Machine Learning. Cada etapa de um pipeline poderá ser configurada para permitir a reutilização dos 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 serão disponibilizados imediatamente para etapas subsequentes.

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

As etapas predefinidas derivadas de PipelineStep são as etapas usadas em um pipeline. Se o fluxo de trabalho de aprendizado de máquina usar chamadas para criar etapas que podem ser com controle de versão e usadas em pipelines diferentes, use a classe Module.

Lembre-se do seguinte ao trabalhar com etapas de pipeline, dados de entrada/saída e reutilização de etapa.

  • É recomendável usar 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 muda sempre que você faz uma alteração em um script forçando todas as etapas a serem executadas novamente. Para ver 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 porque um instantâneo é feito apenas da pasta específica. Como as alterações em qualquer arquivo no source_directory da etapa disparam um novo upload do instantâneo, manter pastas separadas a cada etapa ajuda a reutilizar em excesso as etapas no pipeline porque, se não houver alterações no source_directory de uma etapa, a etapa anterior será reutilizada.

  • Se os dados usados em uma etapa estão em um armazenamento de dados e allow_reuse for True, as mudanças na alteração de dados não serão detectadas. Se os dados forem carregados como parte do instantâneo (sob 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 do 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 da etapa e verifique se o script existe.

resolve_input_arguments

Corresponda as entradas e saídas aos 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 da etapa.

outputs
Obrigatório

A lista de saídas de etapa.

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 do script e fornecem uma forma 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 de saída.

create_module_def

Crie o objeto de definição do 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 da 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 futuros pipelines.

Valor padrão: True
version
str

A versão do módulo.

Valor padrão: None
module_type
str

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

Valor padrão: None
arguments

Lista de argumentos anotados a ser usada ao chamar esse 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 de 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 gráfico 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 de gráfico.

Retornos

Tipo Description

O nó criado.

get_source_directory

Obtenha o diretório de origem da 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 de gráfico.

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 do código hash a ser usado 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 as entradas e saídas aos 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 dos argumentos da etapa.

inputs
Obrigatório

Uma lista das entradas da etapa.

outputs
Obrigatório

Uma lista das saídas da etapa.

params
Obrigatório

Uma lista dos parâmetros da etapa.

Retornos

Tipo Description

Retorna uma tupla de dois itens. A primeira é uma lista simples de itens dos 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 do pipeline a ser executado antes desta etapa.

Comentários

Se quiser executar uma etapa, por exemplo, etapa 3 depois que etapa 1 e etapa 2 forem concluídas, você pode 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 dos argumentos da etapa.

inputs
Obrigatório

A lista de entradas da etapa.

outputs
Obrigatório

A lista de saídas de etapa.