Compartilhar via


Pipeline Classe

Representa uma coleção de etapas que podem ser executadas como fluxo de trabalho reutilizável do Azure Machine Learning.

Use um pipeline para criar e gerenciar fluxos de trabalho que unem várias fases de machine learning. Cada fase de machine learning, como preparação de dados e treinamento de modelo, pode consistir em uma ou mais etapas em um pipeline.

Para ter uma visão geral de por que e quando usar pipelines, confira https://aka.ms/pl-concept.

Para ter uma visão geral sobre como construir um pipeline, confira https://aka.ms/pl-first-pipeline.

Inicializar Pipeline.

Herança
builtins.object
Pipeline

Construtor

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace para enviar o Pipeline.

steps
Obrigatório

A lista de etapas a serem executadas como parte de um Pipeline.

description
Obrigatório
str

A descrição do Pipeline.

default_datastore
Obrigatório

O armazenamento de dados padrão a ser usado para conexões de dados.

default_source_directory
Obrigatório
str

O diretório de script padrão para etapas que executam um script.

resolve_closure
Obrigatório

Se deve resolver o fechamento ou não (trazer automaticamente as etapas dependentes).

workspace
Obrigatório

O workspace para enviar o Pipeline.

steps
Obrigatório

A lista de etapas a serem executadas como parte de um Pipeline.

description
Obrigatório
str

A descrição do Pipeline.

default_datastore
Obrigatório

O armazenamento de dados padrão a ser usado para conexões de dados.

default_source_directory
Obrigatório
str

O diretório de script padrão para etapas que executam um script.

resolve_closure
Obrigatório

Quer resolve fechamento ou não (traga automaticamente etapas dependentes).

_workflow_provider
Obrigatório
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

O provedor de fluxo de trabalho, se Nenhum for criado.

_service_endpoint
Obrigatório
str

O ponto de extremidade de serviço, se Nenhum for determinado usando o workspace.

kwargs
Obrigatório

Argumentos de palavra-chave personalizados, reservados para desenvolvimento futuro

Comentários

Um pipeline é criado com uma lista de etapas e um workspace. Há vários tipos de etapas que podem ser usadas em um pipeline. Você selecionará o tipo de etapa com base no seu cenário de aprendizado de máquina.

  • Os Pipelines do Azure Machine Learning fornecem etapas internas para cenários comuns. As etapas predefinidas derivadas de PipelineStep são as etapas usadas em um pipeline. Para obter exemplos, consulte o pacote steps e a classe AutoMLStep.

  • 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 funcionalidade no módulo Module.

Enviar uma execução de pipeline submit. Ao chamar o envio, será criado um PipelineRun que, por sua vez, criará objetos StepRun para cada etapa do fluxo de trabalho. Use esses objetos para monitorar a execução.

Um exemplo para enviar um Pipeline é o seguinte:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

Há várias configurações opcionais para um Pipeline que podem ser especificadas no envio no arquivo submit.

  • continue_on_step_failure: se deverá continuar a execução do pipeline se uma etapa falhar; o padrão é False. Se for True, apenas as etapas que não dependem da saída da etapa com falha continuarão a execução.

  • regenerate_outputs: se é necessário forçar a regeneração de todas as saídas da etapa e não permitir a reutilização de dados para essa execução, o padrão é False.

  • pipeline_parameters: parâmetros para a execução de pipeline, dicionário de {name: value}. Consulte PipelineParameter para obter mais detalhes.

  • parent_run_id: você pode fornecer uma ID de execução para definir a execução pai dessa execução de pipeline, que é refletida em RunHistory. A execução pai deve pertencer ao mesmo experimento ao qual o pipeline está sendo enviado.

Um exemplo para enviar um Pipeline usando essas configurações é o seguinte:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline,
                                    continue_on_step_failure=True,
                                    regenerate_outputs=True,
                                    pipeline_parameters={"param1": "value1"},
                                    parent_run_id="<run_id>")

Métodos

load_yaml

Carrega um Pipeline do arquivo YAML especificado.

Um arquivo YAML pode ser usado para descrever um Pipeline que consiste em ModuleSteps.

publish

Publicar um pipeline e disponibilizá-lo para nova execução.

Depois que um pipeline é publicado, ele poderá ser enviado sem o código Python que construiu o Pipeline. Retorna o PublishedPipeline criado.

service_endpoint

Obter o ponto de extremidade de serviço associado ao pipeline.

submit

Envia uma execução de pipeline. Isso é equivalente a usar submit.

Retorna o PipelineRun enviado. Use esse objeto para monitorar e exibir os detalhes da execução.

validate

Valide um pipeline e identifique os possíveis erros, como entradas desconectadas.

load_yaml

Carrega um Pipeline do arquivo YAML especificado.

Um arquivo YAML pode ser usado para descrever um Pipeline que consiste em ModuleSteps.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace para enviar o Pipeline.

filename
Obrigatório
str

O arquivo YAML que descreve o Pipeline.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

O provedor do fluxo de trabalho.

Valor padrão: None
_service_endpoint
str

O ponto de extremidade de serviço, se for None, será determinado usando o workspace.

Valor padrão: None

Retornos

Tipo Description

O Pipeline construído.

Comentários

Veja abaixo um exemplo de arquivo YAML. O YAML contém um nome, default_compute e listas de parâmetros, referências de dados e etapas para o Pipeline. Cada etapa deverá especificar as associações de módulo, computação e parâmetro, entrada e saída. Além disso, uma etapa runconfig e argumentos poderão ser especificados, se necessário.

Exemplo de arquivo Yaml:


   pipeline:
       description: SamplePipelineFromYaml
       parameters:
           NumIterationsParameter:
               type: int
               default: 40
           DataPathParameter:
               type: datapath
               default:
                   datastore: workspaceblobstore
                   path_on_datastore: sample2.txt
           NodeCountParameter:
               type: int
               default: 4
       data_references:
           DataReference:
               datastore: workspaceblobstore
               path_on_datastore: testfolder/sample.txt
           Dataset:
               dataset_name: 'titanic'
       default_compute: aml-compute
       steps:
           PrepareStep:
               type:  ModuleStep
               name: "TestModule"
               compute: aml-compute2
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input1'
               -input:in1
               -'--input2'
               -input:in2
               -'--input3'
               -input:in3
               -'--output'
               -output:output_data
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS:
                       source: NumIterationsParameter
               inputs:
                   in1:
                       source: Dataset
                       bind_mode: mount
                   in2:
                       source: DataReference
                   in3:
                       source: DataPathParameter
               outputs:
                   output_data:
                       destination: Output1
                       datastore: workspaceblobstore
                       bind_mode: mount
           TrainStep:
               type: ModuleStep
               name: "TestModule2"
               version: "2"
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input'
               -input:train_input
               -'--output'
               -output:result
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS: 10
               runconfig_parameters:
                   NodeCount:
                       source: NodeCountParameter
               inputs:
                   train_input:
                       source: Output1
                       bind_mode: mount
               outputs:
                   result:
                       destination: Output2
                       datastore: workspaceblobstore
                       bind_mode: mount

publish

Publicar um pipeline e disponibilizá-lo para nova execução.

Depois que um pipeline é publicado, ele poderá ser enviado sem o código Python que construiu o Pipeline. Retorna o PublishedPipeline criado.

publish(name=None, description=None, version=None, continue_on_step_failure=None)

Parâmetros

Nome Description
name
str

O nome do pipeline publicado.

Valor padrão: None
description
str

A descrição do pipeline publicado.

Valor padrão: None
version
str

A versão do pipeline publicado.

Valor padrão: None
continue_on_step_failure

Indica se a execução de outras etapas no PipelineRun deverá continuar se uma etapa falhar; o padrão é false. Se for True, apenas as etapas que não dependem da saída da etapa com falha continuarão a execução.

Valor padrão: None

Retornos

Tipo Description

Pipeline publicado criado.

service_endpoint

Obter o ponto de extremidade de serviço associado ao pipeline.

service_endpoint()

Retornos

Tipo Description
str

O ponto de extremidade de serviço.

submit

Envia uma execução de pipeline. Isso é equivalente a usar submit.

Retorna o PipelineRun enviado. Use esse objeto para monitorar e exibir os detalhes da execução.

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

Parâmetros

Nome Description
experiment_name
Obrigatório
str

O nome do experimento para o qual enviar o pipeline.

pipeline_parameters

Parâmetros para execução do pipeline, dicionário de {name: value}. Consulte PipelineParameter para obter mais detalhes.

Valor padrão: None
continue_on_step_failure

Indica se a execução do pipeline deverá continuar se uma etapa falhar. Se for True, apenas as etapas que não dependem da saída da etapa com falha continuarão a execução.

Valor padrão: False
regenerate_outputs

Indica se é preciso forçar a regeneração de todas as saídas de etapa e não permitir a reutilização de dados para essa execução. Se o valor for False, essa sequência poderá reutilizar os resultados de versões anteriores e as execuções subsequentes poderão reutilizar os resultados dessa execução.

Valor padrão: False
parent_run_id
str

A ID de execução opcional a ser definida para a execução pai desta execução de pipeline, que é refletida em RunHistory. A execução pai deve pertencer ao mesmo experimento ao qual este pipeline está sendo enviado.

Valor padrão: None
credential_passthrough

Opcional, se esse sinalizador estiver habilitado, o trabalho de pipeline remoto usará as credenciais do usuário que iniciou o trabalho. Esse recurso está disponível apenas na versão prévia privada.

Valor padrão: None

Retornos

Tipo Description

A execução de pipeline enviada.

validate

Valide um pipeline e identifique os possíveis erros, como entradas desconectadas.

validate()

Retornos

Tipo Description

Uma lista de erros no pipeline.

Comentários

Exemplos de erros de validação incluem:

  • fontes de dados de pipeline ausentes ou inesperadas ou tipos de etapas

  • parâmetros ausentes ou definições de saída para uma fonte de dados ou etapa de pipeline

  • entradas não conectadas

  • etapas de pipeline que formam um loop ou ciclo

Se a validação for aprovada (retornar uma lista vazia) e o pipeline não funcionar, consulte Depurar e solucionar problemas de pipelines de aprendizado de máquina.

Atributos

graph

Obter o gráfico associado ao pipeline. Etapas e entradas de dados aparecem como nós no gráfico.

Retornos

Tipo Description

O gráfico.