Pipeline Classe

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

Utilize um Pipeline para criar e gerir fluxos de trabalho que juntam várias fases de machine learning. Cada fase de machine learning, como a preparação de dados e preparação de modelos, pode consistir num ou mais passos num Pipeline.

Para obter uma descrição geral do porquê e quando utilizar Pipelines, consulte https://aka.ms/pl-concept.

Para obter uma descrição geral sobre a construção de um Pipeline, consulte 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

workspace
Workspace
Necessário

A área de trabalho para submeter o Pipeline.

steps
list
Necessário

A lista de passos a executar como parte de um Pipeline.

description
str
Necessário

A descrição do Pipeline.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

O arquivo de dados predefinido a utilizar para ligações de dados.

default_source_directory
str
Necessário

O diretório de script predefinido para os passos que executam um script.

resolve_closure
bool
Necessário

Quer resolva ou não o encerramento (introduza automaticamente passos dependentes).

workspace
Workspace
Necessário

A área de trabalho para submeter o Pipeline.

steps
list
Necessário

A lista de passos a executar como parte de um Pipeline.

description
str
Necessário

A descrição do Pipeline.

default_datastore
AbstractAzureStorageDatastore ou AzureDataLakeDatastore
Necessário

O arquivo de dados predefinido a utilizar para ligações de dados.

default_source_directory
str
Necessário

O diretório de script predefinido para os passos que executam um script.

resolve_closure
bool
Necessário

Resolva ou não o encerramento (introduza automaticamente passos dependentes).

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Necessário

O fornecedor de fluxo de trabalho, se nenhum for criado.

_service_endpoint
str
Necessário

O ponto final de serviço, se Nenhum for determinado com a área de trabalho.

kwargs
dict
Necessário

Argumentos de palavra-chave personalizados, reservados para desenvolvimento futuro

Observações

É criado um pipeline com uma lista de passos e uma área de trabalho. Existem vários tipos de passos que podem ser utilizados num pipeline. Irá selecionar o tipo de passo com base no seu cenário de machine learning.

  • O Azure Machine Learning Pipelines fornece passos incorporados para cenários comuns. Os passos pré-criados derivados de PipelineStep são passos que são utilizados num pipeline. Para obter exemplos, veja o steps pacote e a AutoMLStep classe .

  • Se o fluxo de trabalho de machine learning de utilização pedir a criação de passos que podem ser versados e utilizados em pipelines diferentes, utilize a funcionalidade no Module módulo.

Submeta um pipeline com submit. Quando a submissão é chamada, é criado um PipelineRun que, por sua vez, cria objetos StepRun para cada passo no fluxo de trabalho. Utilize estes objetos para monitorizar a execução da execução.

Um exemplo para submeter um Pipeline é o seguinte:


   from azureml.pipeline.core import Pipeline

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

Existem várias definições opcionais para um Pipeline que podem ser especificadas na submissão no submit.

  • continue_on_step_failure: se pretende continuar a execução do pipeline se um passo falhar; a predefinição é Falso. Se For Verdadeiro, apenas os passos que não têm dependência na saída do passo com falha continuarão a ser executados.

  • regenerate_outputs: se pretende forçar a regeneração de todas as saídas de passos e não permitir a reutilização de dados para esta execução, a predefinição é Falso.

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

  • parent_run_id: pode fornecer um ID de execução para definir a execução principal desta execução de pipeline, que se reflete no RunHistory. A execução principal deve pertencer à mesma experimentação à qual o pipeline está a ser submetido.

Um exemplo para submeter um Pipeline com estas definiçõ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

Carregue um Pipeline a partir do ficheiro YAML especificado.

Um ficheiro YAML pode ser utilizado para descrever um Pipeline composto por ModuleSteps.

publish

Publique um pipeline e disponibilize-o para nova execução.

Depois de um Pipeline ser publicado, pode ser submetido sem o código Python que construiu o Pipeline. Devolve o .PublishedPipeline

service_endpoint

Obtenha o ponto final de serviço associado ao pipeline.

submit

Submeta uma execução de pipeline. Isto é equivalente à utilização de submit.

Devolve o .PipelineRun Utilize este objeto para monitorizar e ver os detalhes da execução.

validate

Valide um pipeline e identifique potenciais erros, como entradas não ligadas.

load_yaml

Carregue um Pipeline a partir do ficheiro YAML especificado.

Um ficheiro YAML pode ser utilizado para descrever um Pipeline composto por ModuleSteps.

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

Parâmetros

workspace
Workspace
Necessário

A área de trabalho para submeter o Pipeline.

filename
str
Necessário

O ficheiro YAML que descreve o Pipeline.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
valor predefinido: None

O fornecedor de fluxo de trabalho.

_service_endpoint
str
valor predefinido: None

O ponto final de serviço, se Nenhum, é determinado com a área de trabalho.

Devoluções

O Pipeline construído.

Tipo de retorno

Observações

Veja abaixo um ficheiro YAML de exemplo. O YAML contém um nome, default_compute e listas de parâmetros, referências de dados e passos para o Pipeline. Cada passo deve especificar os enlaces de módulo, computação e parâmetro, entrada e saída. Além disso, um runconfig de passo e argumentos podem ser especificados, se necessário.

Ficheiro Yaml de exemplo:


   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

Publique um pipeline e disponibilize-o para nova execução.

Depois de um Pipeline ser publicado, pode ser submetido sem o código Python que construiu o Pipeline. Devolve o .PublishedPipeline

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

Parâmetros

name
str
valor predefinido: None

O nome do pipeline publicado.

description
str
valor predefinido: None

A descrição do pipeline publicado.

version
str
valor predefinido: None

A versão do pipeline publicado.

continue_on_step_failure
bool
valor predefinido: None

Indica se pretende continuar a execução de outros passos no PipelineExecutar se um passo falhar; a predefinição é false. Se For Verdadeiro, apenas os passos que não têm dependência na saída do passo com falha continuarão a ser executados.

Devoluções

Pipeline publicado criado.

Tipo de retorno

service_endpoint

Obtenha o ponto final de serviço associado ao pipeline.

service_endpoint()

Devoluções

O ponto final de serviço.

Tipo de retorno

str

submit

Submeta uma execução de pipeline. Isto é equivalente à utilização de submit.

Devolve o .PipelineRun Utilize este objeto para monitorizar e ver 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

experiment_name
str
Necessário

O nome da experimentação para submeter o pipeline.

pipeline_parameters
dict
valor predefinido: None

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

continue_on_step_failure
bool
valor predefinido: False

Indica se pretende continuar a execução do pipeline se um passo falhar. Se For Verdadeiro, apenas os passos que não têm dependência na saída do passo com falha continuarão a ser executados.

regenerate_outputs
bool
valor predefinido: False

Indica se pretende forçar a regeneração de todas as saídas de passos e não permitir a reutilização de dados para esta execução. Se for Falso, esta execução poderá reutilizar os resultados de execuções anteriores e as execuções subsequentes poderão reutilizar os resultados desta execução.

parent_run_id
str
valor predefinido: None

ID de execução opcional a definir para a execução principal desta execução de pipeline, que é refletida no RunHistory. A execução principal tem de pertencer à mesma experimentação para a qual este pipeline está a ser submetido.

credential_passthrough
valor predefinido: None

Opcional, se este sinalizador estiver ativado, a tarefa de pipeline remoto utilizará as credenciais do utilizador que iniciou a tarefa. Esta funcionalidade só está disponível em pré-visualização privada.

Devoluções

A execução do pipeline submetido.

Tipo de retorno

validate

Valide um pipeline e identifique potenciais erros, como entradas não ligadas.

validate()

Devoluções

Uma lista de erros no pipeline.

Tipo de retorno

Observações

Exemplos de erros de validação incluem:

  • origens de dados ou tipos de passos de pipeline em falta ou inesperados

  • parâmetros em falta ou definições de saída para um passo ou origem de dados do pipeline

  • entradas não ligadas

  • passos do pipeline que formam um ciclo ou ciclo

Se a validação for aprovada (devolve uma lista vazia) e o pipeline não funcionar, veja Depurar e resolver problemas de pipelines de machine learning.

Atributos

graph

Obtenha o gráfico associado ao pipeline. Os passos e as entradas de dados são apresentados como nós no gráfico.

Devoluções

O gráfico.

Tipo de retorno