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

O nome do passo do pipeline.

inputs
list
Necessário

A lista de entradas de passos.

outputs
list
Necessário

A lista de saídas de passos.

arguments
list
valor predefinido: None

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

fix_port_name_collisions
bool
valor predefinido: False

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
list
valor predefinido: None

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.

name
str
Necessário

O nome do passo do pipeline.

inputs
list
Necessário

A lista de entradas de passos.

outputs
list
Necessário

A lista de saídas de passos.

arguments
list
Necessário

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

fix_port_name_collisions
bool
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
list
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

inputs
list
Necessário

A lista de entradas de passos.

outputs
list
Necessário

A lista de saídas de passos.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

O arquivo de dados predefinido.

resource_inputs
list
valor predefinido: None

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.

Devoluções

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

Tipo de retorno

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

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

create_sequencing_ports
bool
valor predefinido: True

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

allow_reuse
bool
valor predefinido: True

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

version
str
valor predefinido: None

A versão do módulo.

module_type
str
valor predefinido: None

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.

arguments
list
valor predefinido: None

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

runconfig
str
valor predefinido: None

Runconfig que será utilizado para python_script_step

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

Definições que serão utilizadas para clouds

Devoluções

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

Tipo de retorno

create_node

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

abstract create_node(graph, default_datastore, context)

Parâmetros

graph
Graph
Necessário

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

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

O arquivo de dados predefinido a utilizar para este passo.

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

O objeto de contexto do gráfico.

Devoluções

O nó criado.

Tipo de retorno

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

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

O objeto de contexto do gráfico.

source_directory
str
Necessário

O diretório de origem do passo.

script_name
str
Necessário

O nome do script do passo.

hash_paths
list
Necessário

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

Devoluções

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

Tipo de retorno

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

arguments
list
Necessário

Uma lista de argumentos de passo.

inputs
list
Necessário

Uma lista de entradas de passos.

outputs
list
Necessário

Uma lista de saídas de passos.

params
list
Necessário

Uma lista de parâmetros de passo.

Devoluções

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)

Tipo de retorno

run_after

Execute este passo após o passo especificado.

run_after(step)

Parâmetros

step
PipelineStep
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

arguments
list
Necessário

A lista de argumentos de passo.

inputs
list
Necessário

A lista de entradas de passos.

outputs
list
Necessário

A lista de saídas de passos.