Pipeline Classe
Representa uma coleção de etapas que podem ser executadas como um 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 aprendizado de máquina. Cada fase de aprendizado de máquina, como preparação de dados e treinamento de modelo, pode consistir em uma ou mais etapas em um Pipeline.
Para obter uma visão geral de por que e quando usar Pipelines, consulte https://aka.ms/pl-concept.
Para obter uma visão geral sobre como construir um Pipeline, consulte https://aka.ms/pl-first-pipeline.
Inicializar o 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 no qual 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
|
Seja para resolver o fechamento ou não (traga automaticamente etapas dependentes). |
|
workspace
Obrigatório
|
O workspace no qual 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
|
Seja para resolver o 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 etapa que podem ser usados em um pipeline. Você selecionará o tipo de etapa com base no cenário de aprendizado de máquina.
O Azure Machine Learning Pipelines fornece etapas internas para cenários comuns. As etapas predefinidas derivadas do PipelineStep são etapas usadas em um pipeline. Para obter exemplos, consulte o steps pacote e a AutoMLStep classe.
Se o fluxo de trabalho de machine learning usar chamadas para criar etapas que podem ser usadas em diferentes pipelines, use a funcionalidade no Module módulo.
Enviar um pipeline usando submit. Quando o envio é chamado, é criado um PipelineRun que, por sua vez, cria StepRun objetos para cada etapa no fluxo de trabalho. Use esses objetos para monitorar a execução da 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 submit.
continue_on_step_failure: se deve continuar a execução do pipeline se uma etapa falhar; o padrão é False. Se True, somente as etapas que não têm dependência na 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 de etapas e não permitir a reutilização de dados para essa execução, o padrão é False.
pipeline_parameters: parâmetros para execução de pipeline, dicionário de {name: value}. Confira 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 no 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 |
Carregue um Pipeline do arquivo YAML especificado. Um arquivo YAML pode ser usado para descrever um Pipeline que consiste em ModuleSteps. |
| publish |
Publique um pipeline e disponibilize-o para execução nova. Depois que um Pipeline é publicado, ele pode ser enviado sem o código Python que construiu o Pipeline. Retorna o valor criado PublishedPipeline. |
| service_endpoint |
Obtenha o ponto de extremidade de serviço associado ao pipeline. |
| submit |
Enviar uma execução de pipeline. Isso é equivalente a usar submit. Retorna o enviado PipelineRun. Use este objeto para monitorar e exibir detalhes da execução. |
| validate |
Valide um pipeline e identifique possíveis erros, como entradas não conectadas. |
load_yaml
Carregue 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 no qual enviar o Pipeline. |
|
filename
Obrigatório
|
O arquivo YAML que descreve o Pipeline. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor de fluxo de trabalho. Valor padrão: None
|
|
_service_endpoint
|
O ponto de extremidade de serviço, se Nenhum, é 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 deve especificar as associações de módulo, computação e parâmetro, entrada e saída. Além disso, uma configuração de etapa e argumentos podem ser especificados, se necessário.
Arquivo 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 execução nova.
Depois que um Pipeline é publicado, ele pode ser enviado sem o código Python que construiu o Pipeline. Retorna o valor criado PublishedPipeline.
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 deve continuar a execução de outras etapas no PipelineRun se uma etapa falhar; o padrão é false. Se True, somente as etapas que não têm dependência na saída da etapa com falha continuarão a execução. Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
Pipeline publicado criado. |
service_endpoint
Obtenha o ponto de extremidade de serviço associado ao pipeline.
service_endpoint()
Retornos
| Tipo | Description |
|---|---|
|
O ponto de extremidade de serviço. |
submit
Enviar uma execução de pipeline. Isso é equivalente a usar submit.
Retorna o enviado PipelineRun. Use este objeto para monitorar e exibir 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 no qual enviar o pipeline. |
|
pipeline_parameters
|
Parâmetros para execução de pipeline, dicionário de {name: value}. Confira PipelineParameter para obter mais detalhes. Valor padrão: None
|
|
continue_on_step_failure
|
Indica se a execução do pipeline deve continuar se uma etapa falhar. Se True, somente as etapas que não têm dependência na saída da etapa com falha continuarão a execução. Valor padrão: False
|
|
regenerate_outputs
|
Indica se é necessário forçar a regeneração de todas as saídas de etapas e não permitir a reutilização de dados para essa execução. Se False, essa execução poderá reutilizar os resultados de execuções anteriores e as execuções subsequentes poderão reutilizar os resultados dessa execução. Valor padrão: False
|
|
parent_run_id
|
ID de execução opcional a ser definida para a execução pai desta execução de pipeline, que é refletida no 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 só está disponível na versão prévia privada. Valor padrão: None
|
Retornos
| Tipo | Description |
|---|---|
|
A execução do pipeline enviado. |
validate
Valide um pipeline e identifique possíveis erros, como entradas não conectadas.
validate()
Retornos
| Tipo | Description |
|---|---|
|
Uma lista de erros no pipeline. |
Comentários
Exemplos de erros de validação incluem:
fontes de dados de pipeline ou tipos de etapa ausentes ou inesperados
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 a depuração e solucione os pipelines de machine learning.
Atributos
graph
Obtenha o grafo associado ao pipeline. As etapas e as entradas de dados aparecem como nós no grafo.
Retornos
| Tipo | Description |
|---|---|
|
O grafo. |