Compartir a través de


Pipeline Clase

Representa una colección de pasos que se pueden ejecutar como un flujo de trabajo reutilizable de Azure Machine Learning.

Use una canalización para crear y administrar flujos de trabajo que unen varias fases de aprendizaje automático. Cada fase de aprendizaje automático, como la preparación de datos y el entrenamiento del modelo, puede constar de uno o varios pasos en una canalización.

Para obtener información general sobre por qué y cuándo usar canalizaciones, consulte https://aka.ms/pl-concept.

Para obtener información general sobre la construcción de una canalización, consulte https://aka.ms/pl-first-pipeline.

Inicializar canalización.

Constructor

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo en la que se va a enviar la canalización.

steps
Requerido

Lista de pasos que se van a ejecutar como parte de una canalización.

description
Requerido
str

Descripción de la canalización.

default_datastore
Requerido

Almacén de datos predeterminado que se va a usar para las conexiones de datos.

default_source_directory
Requerido
str

Directorio de script predeterminado para los pasos que ejecutan un script.

resolve_closure
Requerido

Si se debe resolver el cierre o no (incorporar automáticamente los pasos dependientes).

workspace
Requerido

Área de trabajo en la que se va a enviar la canalización.

steps
Requerido

Lista de pasos que se van a ejecutar como parte de una canalización.

description
Requerido
str

Descripción de la canalización.

default_datastore
Requerido

Almacén de datos predeterminado que se va a usar para las conexiones de datos.

default_source_directory
Requerido
str

Directorio de script predeterminado para los pasos que ejecutan un script.

resolve_closure
Requerido

Si resuelve el cierre o no (trae automáticamente pasos dependientes).

_workflow_provider
Requerido
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

El proveedor de flujo de trabajo, si no se crea ninguno.

_service_endpoint
Requerido
str

El punto de conexión de servicio, si Ninguno se determina mediante el área de trabajo.

kwargs
Requerido

Argumentos de palabra clave personalizados, reservados para el desarrollo futuro

Comentarios

Se crea una canalización con una lista de pasos y un área de trabajo. Hay una serie de tipos de paso que se pueden usar en una canalización. Seleccionará el tipo de paso en función del escenario de aprendizaje automático.

  • Azure Machine Learning Pipelines proporciona pasos integrados para escenarios comunes. Los pasos creados previamente derivados de PipelineStep son pasos que se usan en una canalización. Para obtener ejemplos, consulte el steps paquete y la AutoMLStep clase .

  • Si usa llamadas de flujo de trabajo de aprendizaje automático para crear pasos que se pueden versionar y usar en distintas canalizaciones, use la funcionalidad en el Module módulo.

Envíe una canalización mediante submit. Cuando se llama a submit, se crea un PipelineRun objeto que, a su vez, crea StepRun objetos para cada paso del flujo de trabajo. Use estos objetos para supervisar la ejecución de la ejecución.

Un ejemplo para enviar una canalización es el siguiente:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

Hay una serie de opciones opcionales para una canalización que se puede especificar al enviar en .submit

  • continue_on_step_failure: si se va a continuar la ejecución de la canalización si se produce un error en un paso; el valor predeterminado es False. Si es True, solo los pasos que no tienen ninguna dependencia en la salida del paso con errores continuarán la ejecución.

  • regenerate_outputs: si se va a forzar la regeneración de todas las salidas de paso y no permitir la reutilización de datos para esta ejecución, el valor predeterminado es False.

  • pipeline_parameters: parámetros para la ejecución de la canalización, diccionario de {name: value}. Consulte PipelineParameter para obtener más detalles.

  • parent_run_id: puede proporcionar un identificador de ejecución para establecer la ejecución primaria de esta ejecución de canalización, que se refleja en RunHistory. La ejecución primaria debe pertenecer al mismo experimento al que se envía esta canalización.

Un ejemplo para enviar una canalización mediante esta configuración es la siguiente:


   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

Cargue una canalización desde el archivo YAML especificado.

Un archivo YAML se puede usar para describir una canalización que consta de ModuleSteps.

publish

Publique una canalización y haga que esté disponible para volver a ejecutar.

Una vez publicada una canalización, se puede enviar sin el código de Python que construyó la canalización. Devuelve el objeto creado PublishedPipeline.

service_endpoint

Obtenga el punto de conexión de servicio asociado a la canalización.

submit

Envíe una ejecución de canalización. Esto equivale a usar submit.

Devuelve el objeto enviado PipelineRun. Use este objeto para supervisar y ver los detalles de la ejecución.

validate

Valide una canalización e identifique posibles errores, como entradas no conectadas.

load_yaml

Cargue una canalización desde el archivo YAML especificado.

Un archivo YAML se puede usar para describir una canalización que consta de ModuleSteps.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo en la que se va a enviar la canalización.

filename
Requerido
str

Archivo YAML que describe la canalización.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Proveedor de flujo de trabajo.

Valor predeterminado: None
_service_endpoint
str

El punto de conexión de servicio, si No, se determina mediante el área de trabajo.

Valor predeterminado: None

Devoluciones

Tipo Description

Canalización construida.

Comentarios

Consulte a continuación un archivo YAML de ejemplo. YAML contiene un nombre, default_compute y listas de parámetros, referencias de datos y pasos para la canalización. Cada paso debe especificar los enlaces de módulo, proceso y parámetro, entrada y salida. Además, se puede especificar un runconfig de paso y argumentos si es necesario.

Archivo Yaml de ejemplo:


   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 una canalización y haga que esté disponible para volver a ejecutar.

Una vez publicada una canalización, se puede enviar sin el código de Python que construyó la canalización. Devuelve el objeto creado PublishedPipeline.

publish(name=None, description=None, version=None, continue_on_step_failure=None)

Parámetros

Nombre Description
name
str

Nombre de la canalización publicada.

Valor predeterminado: None
description
str

Descripción de la canalización publicada.

Valor predeterminado: None
version
str

Versión de la canalización publicada.

Valor predeterminado: None
continue_on_step_failure

Indica si se va a continuar la ejecución de otros pasos en PipelineRun si se produce un error en un paso; el valor predeterminado es false. Si es True, solo los pasos que no tienen ninguna dependencia en la salida del paso con errores continuarán la ejecución.

Valor predeterminado: None

Devoluciones

Tipo Description

Canalización publicada creada.

service_endpoint

Obtenga el punto de conexión de servicio asociado a la canalización.

service_endpoint()

Devoluciones

Tipo Description
str

Punto de conexión de servicio.

submit

Envíe una ejecución de canalización. Esto equivale a usar submit.

Devuelve el objeto enviado PipelineRun. Use este objeto para supervisar y ver los detalles de la ejecución.

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

Parámetros

Nombre Description
experiment_name
Requerido
str

Nombre del experimento en el que se va a enviar la canalización.

pipeline_parameters

Parámetros para la ejecución de la canalización, diccionario de {name: value}. Consulte PipelineParameter para obtener más detalles.

Valor predeterminado: None
continue_on_step_failure

Indica si se va a continuar la ejecución de la canalización si se produce un error en un paso. Si es True, solo los pasos que no tienen ninguna dependencia en la salida del paso con errores continuarán la ejecución.

Valor predeterminado: False
regenerate_outputs

Indica si se va a forzar la regeneración de todas las salidas de paso y no permitir la reutilización de datos para esta ejecución. Si es False, esta ejecución puede reutilizar los resultados de las ejecuciones anteriores y las ejecuciones posteriores pueden reutilizar los resultados de esta ejecución.

Valor predeterminado: False
parent_run_id
str

Identificador de ejecución opcional que se va a establecer para la ejecución primaria de esta ejecución de canalización, que se refleja en RunHistory. La ejecución primaria debe pertenecer al mismo experimento al que se envía esta canalización.

Valor predeterminado: None
credential_passthrough

Opcional, si esta marca está habilitada, el trabajo de canalización remota usará las credenciales del usuario que inició el trabajo. Esta característica solo está disponible en versión preliminar privada.

Valor predeterminado: None

Devoluciones

Tipo Description

La ejecución de la canalización enviada.

validate

Valide una canalización e identifique posibles errores, como entradas no conectadas.

validate()

Devoluciones

Tipo Description

Lista de errores en la canalización.

Comentarios

Algunos ejemplos de errores de validación son:

  • tipos de pasos o orígenes de datos de canalización que faltan o son inesperados

  • faltan parámetros o definiciones de salida para un origen de datos o paso de canalización

  • entradas no conectadas

  • pasos de canalización que forman un bucle o ciclo

Si la validación pasa (devuelve una lista vacía) y la canalización no funciona, consulte Depuración y solución de problemas de canalizaciones de aprendizaje automático.

Atributos

graph

Obtenga el gráfico asociado a la canalización. Los pasos y las entradas de datos aparecen como nodos en el gráfico.

Devoluciones

Tipo Description

Gráfico.