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

name
str
Obrigatório

O nome da etapa do pipeline.

inputs
list
Obrigatório

A lista de entradas da etapa.

outputs
list
Obrigatório

A lista de saídas de etapa.

arguments
list
valor padrão: None

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

fix_port_name_collisions
bool
valor padrão: False

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
list
valor padrão: None

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.

name
str
Obrigatório

O nome da etapa do pipeline.

inputs
list
Obrigatório

A lista de entradas da etapa.

outputs
list
Obrigatório

A lista de saídas de etapa.

arguments
list
Obrigatório

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

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

inputs
list
Obrigatório

A lista de entradas da etapa.

outputs
list
Obrigatório

A lista de saídas de etapa.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Obrigatório

O armazenamento de dados padrão.

resource_inputs
list
valor padrão: None

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.

Retornos

Tupla das associações de entrada e de saída.

Tipo de retorno

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

execution_type
str
Obrigatório

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

input_bindings
list
Obrigatório

As associações de entrada da etapa.

output_bindings
list
Obrigatório

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

param_defs
list
valor padrão: None

As definições de parâmetro da etapa.

create_sequencing_ports
bool
valor padrão: True

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

allow_reuse
bool
valor padrão: True

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

version
str
valor padrão: None

A versão do módulo.

module_type
str
valor padrão: None

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.

arguments
list
valor padrão: None

Lista de argumentos anotados a ser usada ao chamar esse módulo

runconfig
str
valor padrão: None

Runconfig que será usado para python_script_step

cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
valor padrão: None

Configurações que serão usadas para nuvens

Retornos

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

Tipo de retorno

create_node

Crie um nó para o grafo de pipeline com base nesta etapa.

abstract create_node(graph, default_datastore, context)

Parâmetros

graph
Graph
Obrigatório

O gráfico ao qual adicionar o nó.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Obrigatório

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

context
<xref:azureml.pipeline.core._GraphContext>
Obrigatório

O objeto de contexto de gráfico.

Retornos

O nó criado.

Tipo de retorno

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

context
<xref:azureml.pipeline.core._GraphContext>
Obrigatório

O objeto de contexto de gráfico.

source_directory
str
Obrigatório

O diretório de origem da etapa.

script_name
str
Obrigatório

O nome do script da etapa.

hash_paths
list
Obrigatório

Os caminhos do código hash a ser usado ao determinar a impressão digital do módulo.

Retornos

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

Tipo de retorno

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

arguments
list
Obrigatório

Uma lista dos argumentos da etapa.

inputs
list
Obrigatório

Uma lista das entradas da etapa.

outputs
list
Obrigatório

Uma lista das saídas da etapa.

params
list
Obrigatório

Uma lista dos parâmetros da etapa.

Retornos

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)

Tipo de retorno

run_after

Execute esta etapa após a etapa especificada.

run_after(step)

Parâmetros

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

arguments
list
Obrigatório

A lista dos argumentos da etapa.

inputs
list
Obrigatório

A lista de entradas da etapa.

outputs
list
Obrigatório

A lista de saídas de etapa.