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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
Nombre de la canalización publicada. Valor predeterminado: None
|
description
|
Descripción de la canalización publicada. Valor predeterminado: None
|
version
|
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 |
---|---|
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
|
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
|
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. |