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
- default_datastore
- AbstractAzureStorageDatastore ou AzureDataLakeDatastore
O armazenamento de dados padrão a ser usado para conexões de dados.
- default_source_directory
- str
O diretório de script padrão para etapas que executam um script.
- resolve_closure
- bool
Se deve resolver o fechamento ou não (trazer automaticamente as etapas dependentes).
- default_datastore
- AbstractAzureStorageDatastore ou AzureDataLakeDatastore
O armazenamento de dados padrão a ser usado para conexões de dados.
- default_source_directory
- str
O diretório de script padrão para etapas que executam um script.
- resolve_closure
- bool
Quer resolve fechamento ou não (traga automaticamente etapas dependentes).
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor de fluxo de trabalho, se Nenhum for criado.
- _service_endpoint
- str
O ponto de extremidade de serviço, se Nenhum for determinado usando o workspace.
- kwargs
- dict
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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor do fluxo de trabalho.
- _service_endpoint
- str
O ponto de extremidade de serviço, se for None, será determinado usando o workspace.
Retornos
O Pipeline construído.
Tipo de retorno
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
- continue_on_step_failure
- bool
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.
Retornos
Pipeline publicado criado.
Tipo de retorno
service_endpoint
Obter o ponto de extremidade de serviço associado ao pipeline.
service_endpoint()
Retornos
O ponto de extremidade de serviço.
Tipo de retorno
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
- pipeline_parameters
- dict
Parâmetros para execução do pipeline, dicionário de {name: value}. Consulte PipelineParameter para obter mais detalhes.
- continue_on_step_failure
- bool
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.
- regenerate_outputs
- bool
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.
- 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.
- 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.
Retornos
A execução de pipeline enviada.
Tipo de retorno
validate
Valide um pipeline e identifique os possíveis erros, como entradas desconectadas.
validate()
Retornos
Uma lista de erros no pipeline.
Tipo de retorno
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
O gráfico.
Tipo de retorno
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de