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.objectPipelineStep
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 do pipeline. |
inputs
Obrigatório
|
A lista de entradas da etapa. |
outputs
Obrigatório
|
A lista de saídas de etapa. |
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 é 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. Valor padrão: False
|
resource_inputs
|
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. Valor padrão: None
|
name
Obrigatório
|
O nome da etapa do pipeline. |
inputs
Obrigatório
|
A lista de entradas da etapa. |
outputs
Obrigatório
|
A lista de saídas de etapa. |
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 é 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
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
Nome | Description |
---|---|
inputs
Obrigatório
|
A lista de entradas da etapa. |
outputs
Obrigatório
|
A lista de saídas de etapa. |
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 do script e fornecem uma forma 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 de saída. |
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
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 da 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 futuros pipelines. Valor padrão: True
|
version
|
A versão do módulo. Valor padrão: None
|
module_type
|
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'.
Valor padrão: None
|
arguments
|
Lista de argumentos anotados a ser usada ao chamar esse 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 de 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 gráfico 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 de gráfico. |
Retornos
Tipo | Description |
---|---|
O nó criado. |
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
Nome | Description |
---|---|
context
Obrigatório
|
<xref:azureml.pipeline.core._GraphContext>
O objeto de contexto de gráfico. |
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 do código hash a ser usado 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 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
Nome | Description |
---|---|
arguments
Obrigatório
|
Uma lista dos argumentos da etapa. |
inputs
Obrigatório
|
Uma lista das entradas da etapa. |
outputs
Obrigatório
|
Uma lista das saídas da etapa. |
params
Obrigatório
|
Uma lista dos parâmetros da etapa. |
Retornos
Tipo | Description |
---|---|
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) |
run_after
Execute esta etapa após a etapa especificada.
run_after(step)
Parâmetros
Nome | Description |
---|---|
step
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
Nome | Description |
---|---|
arguments
Obrigatório
|
A lista dos argumentos da etapa. |
inputs
Obrigatório
|
A lista de entradas da etapa. |
outputs
Obrigatório
|
A lista de saídas de etapa. |