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
|
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
|
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
|
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
|
Versión del módulo. Valor predeterminado: None
|
|
module_type
|
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".
Valor predeterminado: None
|
|
arguments
|
Lista de argumentos anotados que se va a usar al llamar a este módulo Valor predeterminado: None
|
|
runconfig
|
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
|
Directorio de origen del paso. |
|
script_name
Requerido
|
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. |