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 a construção de um pipeline, consulte https://aka.ms/pl-first-pipeline.
Inicializar 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
| Name | Description |
|---|---|
|
workspace
Necessário
|
O espaço de trabalho no qual enviar o Pipeline. |
|
steps
Necessário
|
A lista de etapas a serem executadas como parte de um Pipeline. |
|
description
Necessário
|
A descrição do gasoduto. |
|
default_datastore
Necessário
|
O armazenamento de dados padrão a ser usado para conexões de dados. |
|
default_source_directory
Necessário
|
O diretório de script padrão para etapas que executam um script. |
|
resolve_closure
Necessário
|
Se deve resolver o encerramento ou não (automaticamente trazer etapas dependentes). |
|
workspace
Necessário
|
O espaço de trabalho no qual enviar o Pipeline. |
|
steps
Necessário
|
A lista de etapas a serem executadas como parte de um Pipeline. |
|
description
Necessário
|
A descrição do gasoduto. |
|
default_datastore
Necessário
|
O armazenamento de dados padrão a ser usado para conexões de dados. |
|
default_source_directory
Necessário
|
O diretório de script padrão para etapas que executam um script. |
|
resolve_closure
Necessário
|
Se resolver o encerramento ou não (automaticamente trazer etapas dependentes). |
|
_workflow_provider
Necessário
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor de fluxo de trabalho, se Nenhum for criado. |
|
_service_endpoint
Necessário
|
O ponto de extremidade de serviço, se None é determinado usando o espaço de trabalho. |
|
kwargs
Necessário
|
Argumentos de palavras-chave personalizados, reservados para desenvolvimento futuro |
Observações
Um pipeline é criado com uma lista de etapas e um espaço de trabalho. Há vários tipos de etapas que podem ser usados 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. Etapas pré-criadas derivadas de PipelineStep são etapas que são usadas em um pipeline. Para obter exemplos, consulte o steps pacote e a AutoMLStep classe.
Se o fluxo de trabalho de aprendizado de máquina de uso exigir a criação de etapas que podem ser versionadas e usadas em pipelines diferentes, use a Module funcionalidade no módulo.
Envie um pipeline usando submito . Quando o envio é chamado, é criado um PipelineRun que, por sua vez, cria StepRun objetos para cada etapa do 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 a execução do pipeline deve continuar se uma etapa falhar; o padrão é False. Se True, somente as etapas que não dependerem da saída da etapa com falha continuarão a execução.
regenerate_outputs: Se deve forçar a regeneração de todas as saídas de etapa e não permitir a reutilização de dados para esta execução, o padrão é False.
pipeline_parameters: Parâmetros para 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 principal deve pertencer à mesma experimentação à qual o pipeline está a ser submetido.
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 a partir 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 nova execução. Uma vez que um Pipeline é publicado, ele pode ser enviado sem o código Python que construiu o Pipeline. Devolve o ficheiro PublishedPipeline. |
| service_endpoint |
Obtenha o ponto de extremidade de serviço associado ao pipeline. |
| submit |
Envie uma execução de pipeline. Isso equivale a usar submito . Devolve o ficheiro PipelineRun. Use este objeto para monitorar e exibir detalhes da execução. |
| validate |
Valide um pipeline e identifique possíveis erros, como entradas desconectadas. |
load_yaml
Carregue um Pipeline a partir 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
| Name | Description |
|---|---|
|
workspace
Necessário
|
O espaço de trabalho no qual enviar o Pipeline. |
|
filename
Necessário
|
O arquivo YAML que descreve o pipeline. |
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
O provedor de fluxo de trabalho. Default value: None
|
|
_service_endpoint
|
O ponto de extremidade de serviço, se Nenhum, é determinado usando o espaço de trabalho. Default value: None
|
Devoluções
| Tipo | Description |
|---|---|
|
O Gasoduto construído. |
Observações
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 o módulo, o cálculo e o parâmetro, as ligações de entrada e saída. Além disso, uma etapa runconfig e argumentos podem ser especificados, se necessário.
Exemplo de arquivo do 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
Publique um pipeline e disponibilize-o para nova execução.
Uma vez que um Pipeline é publicado, ele pode ser enviado sem o código Python que construiu o Pipeline. Devolve o ficheiro 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 a execução de outras etapas no PipelineRun deve continuar se uma etapa falhar; o padrão é false. Se True, somente as etapas que não dependerem da saída da etapa com falha continuarão a execução. Default value: None
|
Devoluções
| Tipo | Description |
|---|---|
|
Criação de pipeline publicado. |
service_endpoint
Obtenha o ponto de extremidade de serviço associado ao pipeline.
service_endpoint()
Devoluções
| Tipo | Description |
|---|---|
|
O ponto de extremidade do serviço. |
submit
Envie uma execução de pipeline. Isso equivale a usar submito .
Devolve o ficheiro 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
| Name | Description |
|---|---|
|
experiment_name
Necessário
|
O nome do experimento no qual enviar o pipeline. |
|
pipeline_parameters
|
Parâmetros para execução de pipeline, dicionário de {name: value}. Consulte PipelineParameter para obter mais detalhes. Default value: 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 dependerem da saída da etapa com falha continuarão a execução. Default value: False
|
|
regenerate_outputs
|
Indica se deve forçar a regeneração de todas as saídas de etapa e não permitir a reutilização de dados para esta execução. Se False, esta execução pode reutilizar resultados de execuções anteriores e execuções subsequentes podem reutilizar os resultados desta execução. Default value: False
|
|
parent_run_id
|
ID de execução opcional a ser definida para a execução pai dessa execução de pipeline, que é refletida em RunHistory. A execução pai deve pertencer ao mesmo experimento ao qual esse pipeline está sendo enviado. Default value: None
|
|
credential_passthrough
|
Opcional, se esse sinalizador estiver habilitado, o trabalho de pipeline remoto usará as credenciais do usuário que iniciou o trabalho. Esta funcionalidade só está disponível em pré-visualização privada. Default value: None
|
Devoluções
| Tipo | Description |
|---|---|
|
O pipeline enviado é executado. |
validate
Valide um pipeline e identifique possíveis erros, como entradas desconectadas.
validate()
Devoluções
| Tipo | Description |
|---|---|
|
Uma lista de erros no pipeline. |
Observações
Exemplos de erros de validação incluem:
Fontes de dados de pipeline ausentes ou inesperadas ou tipos de etapa
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 passar (retorna uma lista vazia) e seu pipeline não funcionar, consulte Depurar e solucionar problemas de pipelines de aprendizado de máquina.
Atributos
graph
Obtenha o gráfico associado ao pipeline. Etapas e entradas de dados aparecem como nós no gráfico.
Devoluções
| Tipo | Description |
|---|---|
|
O gráfico. |