PipelineStep Classe

Representa um passo de execução num oleoduto de Aprendizagem automática Azure.

Os gasodutos são construídos a partir de várias etapas de gasoduto, que são unidades computacionais distintas no oleoduto. Cada passo pode ser executado de forma independente e utilizar recursos de computação isolados. Cada passo normalmente 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 etapas incorporadas projetadas para cenários comuns herdam, tais como PythonScriptStep, DataTransferStepe HyperDriveStep.

Para uma visão geral de como os Pipelines e PipelineSteps se relacionam, consulte o que são gasodutos ML.

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

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 para passar para um script usado no degrau.

fix_port_name_collisions
bool
valor predefinido: False

Especifica se deve corrigir colisões de nomes. Se True e uma entrada e saída têm o mesmo nome, então a entrada é prefixada com "INPUT". O padrão é falso.

resource_inputs
list
valor predefinido: None

Uma lista opcional de entradas a utilizar como recursos. Os recursos são descarregados para a pasta do script 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 alvo de execução (alvo de cálculo), um script para executar com argumentos e entradas de script opcionais, e pode produzir saídas. O passo também poderia dar uma série de outros parâmetros específicos para o passo.

Os passos do gasoduto podem ser configurados em conjunto para construir um Pipeline, que representa um fluxo de trabalho de aprendizagem de máquinas Azure partilhável e reutilizável. Cada passo de um oleoduto pode ser configurado para permitir a reutilização dos resultados de execução anteriores se o conteúdo do passo (scripts/dependências) assim como entradas e parâmetros permanecerem inalterados. Ao reutilizar o passo, em vez de submeter o trabalho a computar, os resultados da execução anterior são imediatamente disponibilizados para quaisquer etapas subsequentes.

Os pipelines de aprendizagem de máquinas Azure fornecem passos incorporados para cenários comuns. Por exemplo, consulte o steps pacote e a AutoMLStep classe. Para uma visão geral sobre a construção de um Oleoduto com base em etapas pré-construídas, consulte https://aka.ms/pl-first-pipeline.

Os passos pré-construídos derivados do PipelineStep são passos que são usados num oleoduto. Se o seu fluxo de trabalho de machine learning utilizar pedidos para criar passos que podem ser versados e usados em diferentes oleodutos, então use a Module classe.

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

  • Recomenda-se que utilize locais source_directory separados para etapas separadas. 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 um exemplo de utilização de diretórios separados para diferentes etapas, 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 porque apenas a pasta específica é instantânea. Uma vez que as alterações em quaisquer ficheiros na source_directory acionar um re upload do instantâneo, mantendo pastas separadas a cada passo, ajuda a reutilizar os passos no oleoduto porque se não houver alterações no source_directory de um passo, então o passo anterior é reutilizado.

  • Se os dados utilizados num passo estiverem numa datastore e allow_reuse for Verdadeiro, então não serão detetadas alterações na alteração de dados. 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 encadernações de entrada e saída a partir das entradas e saídas de passo.

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 do pipeline com base neste passo.

get_source_directory

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

resolve_input_arguments

Combine entradas e saídas com argumentos para produzir uma cadeia de argumentos.

run_after

Corra este passo após o passo especificado.

validate_arguments

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

create_input_output_bindings

Crie encadernações de entrada e saída a partir das entradas e saídas de passo.

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

A loja de dados predefinido.

resource_inputs
list
valor predefinido: None

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

Devoluções

Tuple das encadernações de entrada e encadernações 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

O passo de entrada de encadernações.

output_bindings
list
Necessário

A saída do passo encaderna.

param_defs
list
valor predefinido: None

As definições de parâmetros de passo.

create_sequencing_ports
bool
valor predefinido: True

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

allow_reuse
bool
valor predefinido: True

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

version
str
valor predefinido: None

A versão do módulo.

module_type
str
valor predefinido: None

O tipo de módulo para o serviço de criação de módulos para criar. Atualmente, apenas dois tipos são suportados: "Nenhum" e "BatchInferencing". module_type é diferente do execution_type qual especifica que tipo de serviço de backend usar para executar este módulo.

arguments
list
valor predefinido: None

Lista de argumentos anotados para usar ao chamar este módulo

runconfig
str
valor predefinido: None

Runconfig que será usado para python_script_step

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

Configurações que serão usadas para nuvens

Devoluções

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

Tipo de retorno

create_node

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

abstract create_node(graph, default_datastore, context)

Parâmetros

graph
Graph
Necessário

O gráfico para adicionar o nó.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

A loja de dados predefinido para usar para este passo.

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

O objeto de contexto gráfico.

Devoluções

O nó criado.

Tipo de retorno

get_source_directory

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

source_directory
str
Necessário

O diretório de origem para o passo.

script_name
str
Necessário

O nome do guião para o 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

Combine entradas e saídas com 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 tuple de dois itens. A primeira é uma lista plana de itens para os argumentos resolvidos. A segunda é uma lista de argumentos estruturados (_InputArgument, _OutputArgument, _ParameterArgument e _StringArgument)

Tipo de retorno

run_after

Corra este passo após o passo especificado.

run_after(step)

Parâmetros

step
PipelineStep
Necessário

O passo do oleoduto para correr antes deste passo.

Observações

Se quiser dar um passo, digamos, passo 3 após o passo 1 e o passo 2 estarem concluídos, pode utilizar:


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

validate_arguments

Validar que as entradas e saídas de etapas 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.