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.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
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
O nome do pipeline publicado. Valor padrão: None
|
description
|
A descrição do pipeline publicado. Valor padrão: None
|
version
|
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 |
---|---|
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
|
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
|
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. |