Partilhar via


PipelineStep Classe

Representa um passo de execução num pipeline do Azure Machine Learning.

Os pipelines são construídos a partir de vários passos de pipeline, que são unidades computacionais distintas no pipeline. Cada passo pode ser executado de forma independente e utilizar recursos de computação isolados. Normalmente, cada passo tem as suas próprias entradas, saídas e parâmetros nomeados.

A classe PipelineStep é a classe base a partir da qual outras classes de passos incorporadas concebidas para cenários comuns herdam, como PythonScriptStep, DataTransferStepe HyperDriveStep.

Para obter uma descrição geral da forma como os Pipelines e pipelines se relacionam, veja 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

Name Description
name
Necessário
str

O nome do passo do pipeline.

inputs
Necessário

A lista de entradas de passos.

outputs
Necessário

A lista de saídas de passos.

arguments

Uma lista opcional de argumentos a transmitir para um script utilizado no passo .

valor predefinido: None
fix_port_name_collisions

Especifica se pretende corrigir colisões de nomes. Se Verdadeiro e uma entrada e saída tiverem o mesmo nome, a entrada tem o prefixo "INPUT". A predefinição é Falso.

valor predefinido: False
resource_inputs

Uma lista opcional de entradas a utilizar como recursos. Os recursos são transferidos para a pasta de scripts e fornecem uma forma de alterar o comportamento do script no tempo de execução.

valor predefinido: None
name
Necessário
str

O nome do passo do pipeline.

inputs
Necessário

A lista de entradas de passos.

outputs
Necessário

A lista de saídas de passos.

arguments
Necessário

Uma lista opcional de argumentos a transmitir para um script utilizado no passo .

fix_port_name_collisions
Necessário

Especifica se pretende corrigir colisões de nomes. Se Verdadeiro e uma entrada e saída tiverem o mesmo nome, a entrada tem o prefixo "INPUT". A predefinição é Falso.

resource_inputs
Necessário

Uma lista opcional de entradas a utilizar como recursos. Os recursos são transferidos para a pasta de scripts e fornecem uma forma de alterar o comportamento do script no tempo de execução.

Observações

Um PipelineStep é uma unidade de execução que normalmente precisa de um destino de execução (destino de computação), um script para executar com argumentos e entradas de script opcionais e pode produzir saídas. O passo também pode levar vários outros parâmetros específicos ao passo.

Os passos do pipeline podem ser configurados em conjunto para construir um Pipelinefluxo de trabalho do Azure Machine Learning partilhável e reutilizável. Cada passo de um pipeline pode ser configurado para permitir a reutilização dos resultados de execução anteriores se o conteúdo do passo (scripts/dependências), bem como as entradas e os parâmetros permanecerem inalterados. Ao reutilizar o passo, em vez de submeter a tarefa para computação, os resultados da execução anterior são imediatamente disponibilizados para quaisquer passos subsequentes.

O Azure Machine Learning Pipelines fornece passos incorporados para cenários comuns. Para obter exemplos, veja o steps pacote e a AutoMLStep classe . Para obter uma descrição geral sobre a construção de um Pipeline com base em passos pré-criados, consulte https://aka.ms/pl-first-pipeline.

Os passos pré-criados derivados de PipelineStep são passos que são utilizados num pipeline. Se o fluxo de trabalho de machine learning de utilização pedir a criação de passos que podem ser versados e utilizados em pipelines diferentes, utilize a Module classe .

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

  • Recomenda-se que utilize localizações source_directory separadas para passos separados. Se todos os scripts nos passos de pipeline estiverem num único diretório, o hash desse diretório será alterado sempre que faz uma alteração num script, o que força uma nova execução de todos os passos. Para obter um exemplo de utilização de diretórios separados para diferentes passos, consulte https://aka.ms/pl-get-started.

  • Manter pastas separadas para scripts e ficheiros dependentes para cada passo ajuda a reduzir o tamanho do instantâneo criado para cada passo, uma vez que apenas a pasta específica é instantânea. Uma vez que as alterações em quaisquer ficheiros no source_directory acionam um novo carregamento do instantâneo, mantendo pastas separadas em cada passo, ajudam a reutilizar os passos no pipeline, porque se não existirem alterações no source_directory de um passo, a execução anterior do passo é reutilizada.

  • Se os dados utilizados num passo estiverem num arquivo de dados e allow_reuse for Verdadeiro, as alterações à alteração de dados não serão detetadas. Se os dados forem carregados como parte do instantâneo (no source_directory do passo), apesar de tal não ser recomendado, o hash será alterado e acionará uma nova execução.

Métodos

create_input_output_bindings

Crie enlaces de entrada e saída a partir das entradas e saídas dos passos.

create_module_def

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

create_node

Crie um nó para o gráfico de pipeline com base neste passo.

get_source_directory

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

resolve_input_arguments

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

run_after

Execute este passo após o passo especificado.

validate_arguments

Confirme que as entradas e saídas de passo fornecidas nos argumentos estão nas listas de entradas e saídas.

create_input_output_bindings

Crie enlaces de entrada e saída a partir das entradas e saídas dos passos.

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

Parâmetros

Name Description
inputs
Necessário

A lista de entradas de passos.

outputs
Necessário

A lista de saídas de passos.

default_datastore
Necessário

O arquivo de dados predefinido.

resource_inputs

A lista de entradas a utilizar como recursos. Os recursos são transferidos para a pasta de scripts e fornecem uma forma de alterar o comportamento do script no tempo de execução.

valor predefinido: None

Devoluções

Tipo Description

Cadeia de identificação dos enlaces de entrada e enlaces de saída.

create_module_def

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

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

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âmetros de passo.

valor predefinido: None
create_sequencing_ports

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

valor predefinido: True
allow_reuse

Especifica se 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
module_type
str

O tipo de módulo para criar o serviço de criação de módulos. Atualmente, só são suportados dois tipos: "None" e "BatchInferencing". module_type é diferente do execution_type que especifica o tipo de serviço de back-end a utilizar para executar este módulo.

valor predefinido: None
arguments

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

valor predefinido: None
runconfig
str

Runconfig que será utilizado para python_script_step

valor predefinido: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Definições que serão utilizadas para clouds

valor predefinido: None

Devoluções

Tipo Description

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

create_node

Crie um nó para o gráfico de pipeline com base neste passo.

abstract create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O gráfico ao que pretende adicionar o nó.

default_datastore
Necessário

O arquivo de dados predefinido a utilizar para este passo.

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

O objeto de contexto do gráfico.

Devoluções

Tipo Description

O nó criado.

get_source_directory

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

get_source_directory(context, source_directory, script_name)

Parâmetros

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

O objeto de contexto do gráfico.

source_directory
Necessário
str

O diretório de origem do passo.

script_name
Necessário
str

O nome do script do passo.

hash_paths
Necessário

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

Devoluções

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 argumentos.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parâmetros

Name Description
arguments
Necessário

Uma lista de argumentos de passo.

inputs
Necessário

Uma lista de entradas de passos.

outputs
Necessário

Uma lista de saídas de passos.

params
Necessário

Uma lista de parâmetros de passo.

Devoluções

Tipo Description

Devolve uma cadeia de identificação 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 este passo após o passo especificado.

run_after(step)

Parâmetros

Name Description
step
Necessário

O passo do pipeline a executar antes deste passo.

Observações

Se quiser executar um passo, por exemplo, passo 3 após a conclusão dos passos 1 e 2, pode utilizar:


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

validate_arguments

Confirme que as entradas e saídas de passo fornecidas nos argumentos estão nas listas de entradas e saídas.

static validate_arguments(arguments, inputs, outputs)

Parâmetros

Name Description
arguments
Necessário

A lista de argumentos de passo.

inputs
Necessário

A lista de entradas de passos.

outputs
Necessário

A lista de saídas de passos.