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
|
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
|
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
|
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
|
A versão do módulo. Default value: None
|
module_type
|
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'.
Default value: None
|
arguments
|
Lista de argumentos anotados a serem usados ao chamar este módulo Default value: None
|
runconfig
|
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
|
O diretório de origem da etapa. |
script_name
Necessário
|
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. |