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. Cada etapa normalmente tem suas próprias entradas nomeadas, saídas e parâmetros.
A classe PipelineStep é a classe base da qual outras classes de etapas internas projetadas para cenários comuns herdam, como PythonScriptStep, DataTransferStepe HyperDriveStep.
Para obter uma visão geral de como pipelines e PipelineSteps se relacionam, consulte o que são pipelines de ML.
Inicializar PipelineStep.
Construtor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parâmetros
| Nome | Description |
|---|---|
|
name
Obrigatório
|
O nome da etapa de pipeline. |
|
inputs
Obrigatório
|
A lista de entradas de etapa. |
|
outputs
Obrigatório
|
A lista de saídas de etapas. |
|
arguments
|
Uma lista opcional de argumentos a serem passados para um script usado na etapa. Valor padrão: None
|
|
fix_port_name_collisions
|
Especifica se as colisões de nome devem ser corrigidas. Se True e uma entrada e saída tiverem o mesmo nome, a entrada será prefixada com "INPUT". O padrão é False. Valor padrão: 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. Valor padrão: None
|
|
name
Obrigatório
|
O nome da etapa de pipeline. |
|
inputs
Obrigatório
|
A lista de entradas de etapa. |
|
outputs
Obrigatório
|
A lista de saídas de etapas. |
|
arguments
Obrigatório
|
Uma lista opcional de argumentos a serem passados para um script usado na etapa. |
|
fix_port_name_collisions
Obrigatório
|
Especifica se as colisões de nome devem ser corrigidas. Se True e uma entrada e saída tiverem o mesmo nome, a entrada será prefixada com "INPUT". O padrão é False. |
|
resource_inputs
Obrigató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. |
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 levar uma série de outros parâmetros específicos à etapa.
As etapas de pipeline podem ser configuradas em conjunto para construir um Pipelinefluxo 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.
O Azure Machine Learning Pipelines fornece etapas internas para cenários comuns. Para obter exemplos, consulte o steps pacote e a AutoMLStep classe. Para obter uma visão geral sobre como construir um Pipeline com base em etapas pré-criadas, consulte https://aka.ms/pl-first-pipeline.
As etapas predefinidas derivadas do PipelineStep são etapas usadas em um pipeline. Se o fluxo de trabalho de machine learning usar chamadas para criar etapas que podem ser usadas em diferentes pipelines, use a Module classe.
Tenha o seguinte em mente ao trabalhar com etapas de pipeline, dados de entrada/saída e reutilização de etapas.
É recomendável que você use 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 será alterado sempre 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 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, pois somente a pasta específica é instantâneo. Como as alterações em todos os arquivos no source_directory da etapa disparam um re upload do instantâneo, manter pastas separadas a cada etapa, ajuda a reutilização excessiva das etapas no pipeline, pois se não houver alterações no source_directory de uma etapa, a execução anterior da etapa será reutilizado.
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 detectadas. Se os dados forem carregados como parte do instantâneo (na 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 de 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 para a etapa e verifique se o script existe. |
| resolve_input_arguments |
Corresponda entradas e saídas a 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
| Nome | Description |
|---|---|
|
inputs
Obrigatório
|
A lista de entradas de etapa. |
|
outputs
Obrigatório
|
A lista de saídas de etapas. |
|
default_datastore
Obrigató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. Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
Tupla das associações de entrada e associações 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
| Nome | Description |
|---|---|
|
execution_type
Obrigatório
|
O tipo de execução do módulo. |
|
input_bindings
Obrigatório
|
As associações de entrada da etapa. |
|
output_bindings
Obrigatório
|
As associações de saída da etapa. |
|
param_defs
|
As definições de parâmetro de etapa. Valor padrão: None
|
|
create_sequencing_ports
|
Especifica se as portas de sequenciamento serão criadas para o módulo. Valor padrão: True
|
|
allow_reuse
|
Especifica se o módulo estará disponível para ser reutilizado em pipelines futuros. Valor padrão: True
|
|
version
|
A versão do módulo. Valor padrão: None
|
|
module_type
|
O tipo de módulo para o serviço de criação de módulo a ser criado. Atualmente, há suporte apenas para dois tipos: 'None' e 'BatchInferencing'.
Valor padrão: None
|
|
arguments
|
Lista de argumentos anotados a serem usados ao chamar este módulo Valor padrão: None
|
|
runconfig
|
Runconfig que será usado para python_script_step Valor padrão: None
|
|
cloud_settings
|
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Configurações que serão usadas para nuvens Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
O objeto de definição do módulo. |
create_node
Crie um nó para o grafo de pipeline com base nesta etapa.
abstract create_node(graph, default_datastore, context)
Parâmetros
| Nome | Description |
|---|---|
|
graph
Obrigatório
|
O grafo ao qual adicionar o nó. |
|
default_datastore
Obrigatório
|
O armazenamento de dados padrão a ser usado para esta etapa. |
|
context
Obrigatório
|
<xref:azureml.pipeline.core._GraphContext>
O objeto de contexto do grafo. |
Retornos
| 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
| Nome | Description |
|---|---|
|
context
Obrigatório
|
<xref:azureml.pipeline.core._GraphContext>
O objeto de contexto do grafo. |
|
source_directory
Obrigatório
|
O diretório de origem da etapa. |
|
script_name
Obrigatório
|
O nome do script da etapa. |
|
hash_paths
Obrigatório
|
Os caminhos de hash a serem usados ao determinar a impressão digital do módulo. |
Retornos
| Tipo | Description |
|---|---|
|
O diretório de origem e os caminhos de hash. |
resolve_input_arguments
Corresponda entradas e saídas a argumentos para produzir uma cadeia de caracteres de argumento.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parâmetros
| Nome | Description |
|---|---|
|
arguments
Obrigatório
|
Uma lista de argumentos de etapa. |
|
inputs
Obrigatório
|
Uma lista de entradas de etapa. |
|
outputs
Obrigatório
|
Uma lista de saídas de etapas. |
|
params
Obrigatório
|
Uma lista de parâmetros de etapa. |
Retornos
| Tipo | Description |
|---|---|
|
Retorna uma tupla 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) |
run_after
Execute esta etapa após a etapa especificada.
run_after(step)
Parâmetros
| Nome | Description |
|---|---|
|
step
Obrigatório
|
A etapa de pipeline a ser executada antes desta etapa. |
Comentários
Se você quiser executar uma etapa, digamos, etapa3 após a conclusão das etapas 1 e 2, você poderá 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
| Nome | Description |
|---|---|
|
arguments
Obrigatório
|
A lista de argumentos de etapa. |
|
inputs
Obrigatório
|
A lista de entradas de etapa. |
|
outputs
Obrigatório
|
A lista de saídas de etapas. |