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.objectPipeline
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
Name | Description |
---|---|
workspace
Necessário
|
A área de trabalho para submeter o Pipeline. |
steps
Necessário
|
A lista de passos a executar como parte de um Pipeline. |
description
Necessário
|
A descrição do Pipeline. |
default_datastore
Necessário
|
O arquivo de dados predefinido a utilizar para ligações de dados. |
default_source_directory
Necessário
|
O diretório de script predefinido para os passos que executam um script. |
resolve_closure
Necessário
|
Quer resolva ou não o encerramento (introduza automaticamente passos dependentes). |
workspace
Necessário
|
A área de trabalho para submeter o Pipeline. |
steps
Necessário
|
A lista de passos a executar como parte de um Pipeline. |
description
Necessário
|
A descrição do Pipeline. |
default_datastore
Necessário
|
O arquivo de dados predefinido a utilizar para ligações de dados. |
default_source_directory
Necessário
|
O diretório de script predefinido para os passos que executam um script. |
resolve_closure
Necessário
|
Resolva ou não o encerramento (introduza automaticamente passos dependentes). |
_workflow_provider
Necessário
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O fornecedor de fluxo de trabalho, se nenhum for criado. |
_service_endpoint
Necessário
|
O ponto final de serviço, se Nenhum for determinado com a área de trabalho. |
kwargs
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
Name | Description |
---|---|
workspace
Necessário
|
A área de trabalho para submeter o Pipeline. |
filename
Necessário
|
O ficheiro YAML que descreve o Pipeline. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O fornecedor de fluxo de trabalho. Default value: None
|
_service_endpoint
|
O ponto final de serviço, se Nenhum, é determinado com a área de trabalho. Default value: None
|
Devoluções
Tipo | Description |
---|---|
O Pipeline construído. |
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 | Description |
---|---|
name
|
O nome do pipeline publicado. Default value: None
|
description
|
A descrição do pipeline publicado. Default value: None
|
version
|
A versão do pipeline publicado. Default value: None
|
continue_on_step_failure
|
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. Default value: None
|
Devoluções
Tipo | Description |
---|---|
Pipeline publicado criado. |
service_endpoint
Obtenha o ponto final de serviço associado ao pipeline.
service_endpoint()
Devoluções
Tipo | Description |
---|---|
O ponto final de serviço. |
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
Name | Description |
---|---|
experiment_name
Necessário
|
O nome da experimentação para submeter o pipeline. |
pipeline_parameters
|
Parâmetros para a execução do pipeline, dicionário de {name: value}. Veja PipelineParameter para obter mais detalhes. Default value: None
|
continue_on_step_failure
|
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. Default value: False
|
regenerate_outputs
|
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. Default value: False
|
parent_run_id
|
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. Default value: None
|
credential_passthrough
|
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. Default value: None
|
Devoluções
Tipo | Description |
---|---|
A execução do pipeline submetido. |
validate
Valide um pipeline e identifique potenciais erros, como entradas não ligadas.
validate()
Devoluções
Tipo | Description |
---|---|
Uma lista de erros no pipeline. |
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
Tipo | Description |
---|---|
O gráfico. |