Compartir a través de


PipelineStep Clase

Representa un paso de ejecución en una canalización de Azure Machine Learning.

Las canalizaciones se construyen a partir de varios pasos de canalización, que son unidades de cálculo distintas en la canalización. Cada paso puede ejecutarse de forma independiente y usar recursos de proceso aislados. Cada paso normalmente tiene sus propias entradas, salidas y parámetros con nombre.

La clase PipelineStep es la clase base de la que se heredan otras clases de paso integradas diseñadas para escenarios comunes, como PythonScriptStep, DataTransferStepy HyperDriveStep.

Para obtener información general sobre cómo se relacionan las canalizaciones y PipelineSteps, consulte ¿Qué son las canalizaciones de ML?

Inicializar PipelineStep.

Constructor

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

Parámetros

Nombre Description
name
Requerido
str

Nombre del paso de canalización.

inputs
Requerido

Lista de entradas de paso.

outputs
Requerido

Lista de salidas de paso.

arguments

Lista opcional de argumentos que se van a pasar a un script usado en el paso.

Valor predeterminado: None
fix_port_name_collisions

Especifica si se deben corregir colisiones de nombres. Si True y una entrada y salida tienen el mismo nombre, la entrada tiene el prefijo "INPUT". El valor predeterminado es False.

Valor predeterminado: False
resource_inputs

Lista opcional de entradas que se van a usar como recursos. Los recursos se descargan en la carpeta de scripts y proporcionan una manera de cambiar el comportamiento del script en tiempo de ejecución.

Valor predeterminado: None
name
Requerido
str

Nombre del paso de canalización.

inputs
Requerido

Lista de entradas de paso.

outputs
Requerido

Lista de salidas de paso.

arguments
Requerido

Lista opcional de argumentos que se van a pasar a un script usado en el paso.

fix_port_name_collisions
Requerido

Especifica si se deben corregir colisiones de nombres. Si True y una entrada y salida tienen el mismo nombre, la entrada tiene el prefijo "INPUT". El valor predeterminado es False.

resource_inputs
Requerido

Lista opcional de entradas que se van a usar como recursos. Los recursos se descargan en la carpeta de scripts y proporcionan una manera de cambiar el comportamiento del script en tiempo de ejecución.

Comentarios

PipelineStep es una unidad de ejecución que normalmente necesita un destino de ejecución (destino de proceso), un script para ejecutarse con argumentos y entradas de script opcionales y puede generar salidas. El paso también podría tomar una serie de otros parámetros específicos del paso.

Los pasos de canalización se pueden configurar juntos para construir un Pipeline, que representa un flujo de trabajo de Azure Machine Learning que se puede compartir y reutilizable. Cada paso de una canalización se puede configurar para permitir la reutilización de sus resultados de ejecución anteriores si el contenido del paso (scripts o dependencias), así como las entradas y los parámetros permanecen sin cambios. Al volver a usar el paso, en lugar de enviar el trabajo al proceso, los resultados de la ejecución anterior se pone inmediatamente a disposición de los pasos posteriores.

Azure Machine Learning Pipelines proporciona pasos integrados para escenarios comunes. Para obtener ejemplos, consulte el steps paquete y la AutoMLStep clase . Para obtener información general sobre la construcción de una canalización basada en pasos pregenerados, consulte https://aka.ms/pl-first-pipeline.

Los pasos creados previamente derivados de PipelineStep son pasos que se usan en una canalización. Si usa llamadas de flujo de trabajo de aprendizaje automático para crear pasos que se pueden crear versiones y usar en distintas canalizaciones, use la Module clase .

Tenga en cuenta lo siguiente al trabajar con pasos de canalización, datos de entrada y salida y reutilización de pasos.

  • Se recomienda usar ubicaciones de source_directory independientes para pasos independientes. Si todos los scripts de los pasos de la canalización se encuentran en un único directorio, el hash de ese directorio cambia cada vez que realiza un cambio en un script que obliga a volver a ejecutar todos los pasos. Para obtener un ejemplo de uso de directorios independientes para distintos pasos, consulte https://aka.ms/pl-get-started.

  • Mantener carpetas independientes para scripts y archivos dependientes para cada paso ayuda a reducir el tamaño de la instantánea creada para cada paso porque solo se crea la carpeta específica. Dado que los cambios en los archivos del source_directory del paso desencadenan una nueva carga de la instantánea, el mantenimiento de carpetas independientes cada paso ayuda a reutilizar los pasos de la canalización porque si no hay cambios en la source_directory de un paso, se reutiliza la ejecución anterior del paso.

  • Si los datos usados en un paso están en un almacén de datos y allow_reuse es True, no se detectarán cambios en el cambio de datos. Si los datos se cargan como parte de la instantánea (en el source_directory del paso), aunque esto no se recomienda, el hash cambiará y desencadenará una nueva ejecución.

Métodos

create_input_output_bindings

Cree enlaces de entrada y salida a partir de las entradas y salidas del paso.

create_module_def

Cree el objeto de definición de módulo que describe el paso.

create_node

Cree un nodo para el grafo de canalización en función de este paso.

get_source_directory

Obtenga el directorio de origen del paso y compruebe que el script existe.

resolve_input_arguments

Coincide con las entradas y salidas de los argumentos para generar una cadena de argumento.

run_after

Ejecute este paso después del paso especificado.

validate_arguments

Compruebe que las entradas y salidas de paso proporcionadas en los argumentos se encuentran en las listas de entradas y salidas.

create_input_output_bindings

Cree enlaces de entrada y salida a partir de las entradas y salidas del paso.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

Parámetros

Nombre Description
inputs
Requerido

Lista de entradas de paso.

outputs
Requerido

Lista de salidas de paso.

default_datastore
Requerido

Almacén de datos predeterminado.

resource_inputs

Lista de entradas que se van a usar como recursos. Los recursos se descargan en la carpeta de scripts y proporcionan una manera de cambiar el comportamiento del script en tiempo de ejecución.

Valor predeterminado: None

Devoluciones

Tipo Description

Tupla de los enlaces de entrada y los enlaces de salida.

create_module_def

Cree el objeto de definición de módulo que describe el paso.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)

Parámetros

Nombre Description
execution_type
Requerido
str

Tipo de ejecución del módulo.

input_bindings
Requerido

Enlaces de entrada de paso.

output_bindings
Requerido

Enlaces de salida de paso.

param_defs

Definiciones de parámetros de paso.

Valor predeterminado: None
create_sequencing_ports

Especifica si se crearán puertos de secuenciación para el módulo.

Valor predeterminado: True
allow_reuse

Especifica si el módulo estará disponible para reutilizarse en futuras canalizaciones.

Valor predeterminado: True
version
str

Versión del módulo.

Valor predeterminado: None
module_type
str

Tipo de módulo para el servicio de creación de módulos que se va a crear. Actualmente solo se admiten dos tipos: "None" y "BatchInferencing". module_type es diferente de execution_type lo que especifica el tipo de servicio back-end que se va a usar para ejecutar este módulo.

Valor predeterminado: None
arguments

Lista de argumentos anotados que se va a usar al llamar a este módulo

Valor predeterminado: None
runconfig
str

Runconfig que se usará para python_script_step

Valor predeterminado: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Configuración que se usará para nubes

Valor predeterminado: None

Devoluciones

Tipo Description

Objeto de definición de módulo.

create_node

Cree un nodo para el grafo de canalización en función de este paso.

abstract create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

Gráfico al que se va a agregar el nodo.

default_datastore
Requerido

Almacén de datos predeterminado que se va a usar para este paso.

context
Requerido
<xref:azureml.pipeline.core._GraphContext>

Objeto de contexto del grafo.

Devoluciones

Tipo Description

Nodo creado.

get_source_directory

Obtenga el directorio de origen del paso y compruebe que el script existe.

get_source_directory(context, source_directory, script_name)

Parámetros

Nombre Description
context
Requerido
<xref:azureml.pipeline.core._GraphContext>

Objeto de contexto del grafo.

source_directory
Requerido
str

Directorio de origen del paso.

script_name
Requerido
str

Nombre del script del paso.

hash_paths
Requerido

Rutas de acceso hash que se usarán al determinar la huella digital del módulo.

Devoluciones

Tipo Description

Directorio de origen y rutas de acceso hash.

resolve_input_arguments

Coincide con las entradas y salidas de los argumentos para generar una cadena de argumento.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parámetros

Nombre Description
arguments
Requerido

Lista de argumentos de paso.

inputs
Requerido

Una lista de entradas de paso.

outputs
Requerido

Lista de salidas de paso.

params
Requerido

Una lista de parámetros de paso.

Devoluciones

Tipo Description

Devuelve una tupla de dos elementos. La primera es una lista plana de elementos para los argumentos resueltos. La segunda es una lista de argumentos estructurados (_InputArgument, _OutputArgument, _ParameterArgument y _StringArgument).

run_after

Ejecute este paso después del paso especificado.

run_after(step)

Parámetros

Nombre Description
step
Requerido

Paso de canalización que se va a ejecutar antes de este paso.

Comentarios

Si desea ejecutar un paso, por ejemplo, step3 después de completar tanto step1 como step2, puede usar:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

Compruebe que las entradas y salidas de paso proporcionadas en los argumentos se encuentran en las listas de entradas y salidas.

static validate_arguments(arguments, inputs, outputs)

Parámetros

Nombre Description
arguments
Requerido

Lista de argumentos de paso.

inputs
Requerido

Lista de entradas de paso.

outputs
Requerido

Lista de salidas de paso.