Compartir a través de


Pipeline Clase

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

Use una canalización para crear y administrar los flujos de trabajo que unen las distintas fases del aprendizaje automático. Cada fase del aprendizaje automático, como la preparación de datos y el entrenamiento del modelo, puede constar de uno o varios pasos de 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 cómo construir una canalización, consulte https://aka.ms/pl-first-pipeline.

Inicializar canalización.

Herencia
builtins.object
Pipeline

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 a la que se va a enviar la canalización.

steps
Requerido

Lista de pasos que se ejecutarán 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 utilizar para las conexiones de datos.

default_source_directory
Requerido
str

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

resolve_closure
Requerido

Indica si se debe resolver el cierre o no (llevar automáticamente pasos dependientes).

workspace
Requerido

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

steps
Requerido

Lista de pasos que se ejecutarán 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 utilizar 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>

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 pasos que se pueden usar en una canalización. Seleccionará el tipo de paso en función del escenario de aprendizaje automático.

  • Las canalizaciones de Azure Machine Learning proporcionan 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 paquete steps y la clase AutoMLStep.

  • Si utiliza llamadas de flujo de trabajo de Machine Learning para crear pasos que puedan tener versiones y que se puedan usar en distintas canalizaciones, use la funcionalidad del módulo Module.

Envíe una canalización mediante submit. Cuando se llama a submit, se crea un objeto PipelineRun que, a su vez, crea objetos StepRun para cada paso del flujo de trabajo. Use estos objetos para supervisar 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 configuraciones opcionales para una canalización que se pueden especificar en el envío en submit.

  • continue_on_step_failure: indica si se debe continuar con 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 tengan dependencia de la salida del paso con error continuarán la ejecución.

  • regenerate_outputs: indica si se va a forzar la regeneración de todas las salidas del 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 {nombre: valor}. Para obtener más información, consulte PipelineParameter.

  • 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 con esta configuración es el 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

Carga una canalización desde el archivo YAML especificado.

Se puede usar un archivo YAML para describir una canalización que consta de elementos ModuleStep.

publish

Publica una canalización y hace que esté disponible para volver a ejecutarse.

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

service_endpoint

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

submit

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

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

validate

Valida una canalización e identifica los posibles errores, como las entradas no conectadas.

load_yaml

Carga una canalización desde el archivo YAML especificado.

Se puede usar un archivo YAML para describir una canalización que consta de elementos ModuleStep.

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

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo a 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 del flujo de trabajo.

valor predeterminado: None
_service_endpoint
str

Punto de conexión de servicio; si el valor es Ninguno, 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. El archivo YAML contiene un nombre, un destino de proceso predeterminado 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, y entrada y salida. Además, se pueden especificar un paso runconfig 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

Publica una canalización y hace que esté disponible para volver a ejecutarse.

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

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 continúa la ejecución del resto de pasos en el objeto PipelineRun si se produce un error en un paso; el valor predeterminado es False. Si es True, solo los pasos que no tengan dependencia de la salida del paso con error continuarán la ejecución.

valor predeterminado: None

Devoluciones

Tipo Description

La canalización creada y publicada.

service_endpoint

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

service_endpoint()

Devoluciones

Tipo Description
str

Extremo del servicio.

submit

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

Devuelve el elemento PipelineRun enviado. 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 al que se va a enviar la canalización.

pipeline_parameters

Parámetros para la ejecución de la canalización, diccionario de {nombre: valor}. Para obtener más información, consulte PipelineParameter.

valor predeterminado: None
continue_on_step_failure

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

valor predeterminado: False
regenerate_outputs

Indica si se va a forzar la regeneración de todas las salidas del paso y no permitir la reutilización de datos para esta ejecución. Si es False, esta ejecución puede reutilizar los resultados de 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 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.

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 la versión preliminar privada.

valor predeterminado: None

Devoluciones

Tipo Description

Ejecución de canalización enviada.

validate

Valida una canalización e identifica los posibles errores, como las entradas no conectadas.

validate()

Devoluciones

Tipo Description

Lista de errores de la canalización.

Comentarios

Entre los ejemplos de errores de validación, se incluyen:

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

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

  • entradas no conectadas

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

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

Atributos

graph

Obtiene el grafo asociado a la canalización. Los pasos y las entradas de datos aparecen como nodos en el grafo.

Devoluciones

Tipo Description

Gráfico.