Partilhar 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 do 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, saídas e parâmetros nomeados.

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

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

Inicialize o 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 da etapa do pipeline.

inputs
Necessário

A lista de entradas de etapa.

outputs
Necessário

A lista de saídas de etapa.

arguments

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

Default value: None
fix_port_name_collisions

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

Default value: 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.

Default value: None
name
Necessário
str

O nome da etapa do pipeline.

inputs
Necessário

A lista de entradas de etapa.

outputs
Necessário

A lista de saídas de etapa.

arguments
Necessário

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

fix_port_name_collisions
Necessário

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

resource_inputs
Necessá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.

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 de script opcionais e entradas, e pode produzir saídas. A etapa também pode levar uma série de outros parâmetros específicos para a etapa.

As etapas de pipeline podem ser configuradas juntas para construir um Pipeline, que representa um fluxo 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.

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

Etapas pré-criadas derivadas de PipelineStep são etapas que são usadas em um pipeline. Se o fluxo de trabalho de aprendizado de máquina de uso exigir a criação de etapas que podem ser versionadas e usadas em pipelines diferentes, use a Module classe.

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

  • É recomendável que você use locais de 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 toda vez 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 etapas diferentes, 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 apenas a pasta específica é capturada em instantâneo. Como as alterações em quaisquer arquivos no source_directory da etapa acionam um reupload do instantâneo, a manutenção de pastas separadas a cada etapa ajuda a reutilização excessiva das etapas no pipeline porque, se não houver alterações no source_directory de uma etapa, a execução anterior da etapa será reutilizada.

  • 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 detetadas. Se os dados forem carregados como parte do instantâneo (sob a source_directory da etapa), embora isso não seja recomendado, o hash será alterado e acionará uma nova execução.

Métodos

create_input_output_bindings

Crie ligações de entrada e saída a partir das entradas e saídas de etapa.

create_module_def

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

create_node

Crie um nó para o gráfico 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

Combine entradas e saídas com 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 de etapa fornecidas nos argumentos estão nas listas de entradas e saídas.

create_input_output_bindings

Crie ligações de entrada e saída a partir das entradas e saídas de etapa.

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

Parâmetros

Name Description
inputs
Necessário

A lista de entradas de etapa.

outputs
Necessário

A lista de saídas de etapa.

default_datastore
Necessá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.

Default value: None

Devoluções

Tipo Description

Tupla das ligações de entrada e 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

Name Description
execution_type
Necessário
str

O tipo de execução do módulo.

input_bindings
Necessário

As ligações de entrada de etapa.

output_bindings
Necessário

As ligações de saída de etapa.

param_defs

As definições de parâmetros step.

Default value: None
create_sequencing_ports

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

Default value: True
allow_reuse

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

Default value: True
version
str

A versão do módulo.

Default value: None
module_type
str

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

Default value: None
arguments

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

Default value: None
runconfig
str

Runconfig que será usado para python_script_step

Default value: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Configurações que serão usadas para nuvens

Default value: None

Devoluções

Tipo Description

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

create_node

Crie um nó para o gráfico de pipeline com base nesta etapa.

abstract create_node(graph, default_datastore, context)

Parâmetros

Name Description
graph
Necessário

O gráfico ao qual adicionar o nó.

default_datastore
Necessário

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

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

O objeto de contexto gráfico.

Devoluções

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

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

O objeto de contexto gráfico.

source_directory
Necessário
str

O diretório de origem da etapa.

script_name
Necessário
str

O nome do script para a etapa.

hash_paths
Necessário

Os caminhos de hash a serem usados 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

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

static resolve_input_arguments(arguments, inputs, outputs, params)

Parâmetros

Name Description
arguments
Necessário

Uma lista de argumentos de etapa.

inputs
Necessário

Uma lista de entradas de etapa.

outputs
Necessário

Uma lista de saídas de etapa.

params
Necessário

Uma lista de parâmetros de etapa.

Devoluções

Tipo Description

Devolve uma tupla de dois itens. O primeiro é uma lista simples de itens para os argumentos resolvidos. O segundo é 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

Name Description
step
Necessário

A etapa do pipeline a ser executada antes desta etapa.

Observações

Se você quiser executar uma etapa, digamos, a etapa 3 depois que as etapas 1 e 2 forem concluídas, você pode usar:


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

validate_arguments

Valide se as entradas e saídas de etapa 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 etapa.

inputs
Necessário

A lista de entradas de etapa.

outputs
Necessário

A lista de saídas de etapa.