PipelineStep Clase
Representa un paso de ejecución en una canalización de Azure Machine Learning.
Las canalizaciones de ML se construyen a partir de varios pasos de canalización, que son unidades de cálculo diferentes en la canalización. Cada paso se puede ejecutar de forma independiente y usar recursos de proceso aislados. Normalmente, cada paso tiene sus propias entradas, salidas y parámetros con nombre.
La clase PipelineStep es la clase base de la que heredan otras clases de paso integradas diseñadas para escenarios comunes, como PythonScriptStep, DataTransferStep y HyperDriveStep.
Para obtener información general sobre cómo se relacionan Pipelines y PipelineSteps, consulte ¿Qué son las canalizaciones de ML?.
Inicializar PipelineStep.
- Herencia
-
builtins.objectPipelineStep
Constructor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parámetros
- arguments
- list
Lista opcional de argumentos que se pasan a un script que se usa en el paso.
- fix_port_name_collisions
- bool
Especifica si se deben corregir conflictos de nombres. Si el valor es True y una entrada y una salida tienen el mismo nombre, se agrega el prefijo "INPUT" a la entrada. El valor predeterminado es False.
- resource_inputs
- list
Lista opcional de entradas que se usarán 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.
- arguments
- list
Lista opcional de argumentos que se pasan a un script que se usa en el paso.
- fix_port_name_collisions
- bool
Especifica si se deben corregir conflictos de nombres. Si el valor es True y una entrada y una salida tienen el mismo nombre, se agrega el prefijo "INPUT" a la entrada. El valor predeterminado es False.
- resource_inputs
- list
Lista opcional de entradas que se usarán 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 entradas y argumentos de script opcionales, y que puede generar salidas. El paso también podría necesitar una serie de otros parámetros específicos del paso.
Los pasos de canalización se pueden configurar conjuntamente para construir una Pipeline, que representa un flujo de trabajo de Azure Machine Learning que se puede compartir y reutilizar. Cada paso de una canalización se puede configurar para permitir la reutilización de los resultados de ejecución anteriores si el contenido del paso (scripts y 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 hacen disponibles inmediatamente para los pasos posteriores.
Las canalizaciones de Azure Machine Learning proporcionan pasos integrados para escenarios comunes. Para obtener ejemplos, consulte el paquete steps y la clase AutoMLStep. Para obtener información general sobre la creación de una canalización basada en pasos previamente creados, consulte https://aka.ms/pl-first-pipeline.
Los pasos creados previamente derivados de PipelineStep son pasos que se usan en una canalización. Si el flujo de trabajo de aprendizaje automático utilizado llama para crear pasos que puedan tener versiones y que se puedan usar en distintas canalizaciones, use la clase Module.
Tenga en cuenta lo siguiente al trabajar con pasos de canalización, datos de entrada o salida y la reutilización de pasos.
Se recomienda usar ubicaciones de source_directory independientes para pasos independientes. Si todos los scripts de los pasos de canalización están en un único directorio, el hash de ese directorio cambia cada vez que se realiza un cambio en un script, lo cual obliga a que se vuelvan a ejecutar todos los pasos. Para obtener un ejemplo del uso de directorios independientes para distintos pasos, consulte https://aka.ms/pl-get-started.
Mantener carpetas independientes para los scripts y los archivos dependientes de cada paso ayuda a reducir el tamaño de la instantánea creada para cada paso ya que solo se crea una instantánea de la carpeta específica. Dado que los cambios en los archivos de source_directory del paso desencadenan una nueva carga de la instantánea, mantener carpetas independientes en cada paso contribuye a la excesiva reutilización de los pasos de la canalización ya que si no hay cambios en el directorio 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 el valor de allow_reuse es True, no se detectarán los cambios en los datos. Si los datos se cargan como parte de la instantánea (en el directorio 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 de los pasos. |
create_module_def |
Cree el objeto de definición del módulo que describe el paso. |
create_node |
Cree un nodo para el grafo de la canalización en función de este paso. |
get_source_directory |
Obtiene el directorio de origen del paso y comprueba que el script existe. |
resolve_input_arguments |
Haga coincidir las entradas y salidas con los argumentos para generar una cadena de argumento. |
run_after |
Ejecute este paso después del paso especificado. |
validate_arguments |
Valide que las entradas y salidas de pasos que se proporcionaron en los argumentos están en las listas de entradas y salidas. |
create_input_output_bindings
Cree enlaces de entrada y salida a partir de las entradas y salidas de los pasos.
create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)
Parámetros
- default_datastore
- AbstractAzureStorageDatastore o AzureDataLakeDatastore
El almacén de datos predeterminado.
- resource_inputs
- list
Lista de entradas que se usarán 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.
Devoluciones
Tupla de los enlaces de entrada y de salida.
Tipo de valor devuelto
create_module_def
Cree el objeto de definición del 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
- create_sequencing_ports
- bool
Especifica si se crearán puertos de secuenciación para el módulo.
- allow_reuse
- bool
Especifica si el módulo estará disponible para reutilizarse en futuras canalizaciones.
- 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 del execution_type
que especifica el tipo de servicio back-end que se va a usar para ejecutar este módulo.
- arguments
- list
Lista de argumentos anotados que se va a usar al llamar a este módulo
- cloud_settings
- <xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Configuración que se usará para las nubes.
Devoluciones
Objeto de definición del módulo.
Tipo de valor devuelto
create_node
Cree un nodo para el grafo de la canalización en función de este paso.
abstract create_node(graph, default_datastore, context)
Parámetros
- default_datastore
- AbstractAzureStorageDatastore o AzureDataLakeDatastore
Almacén de datos predeterminado que se va a usar para este paso.
- context
- <xref:azureml.pipeline.core._GraphContext>
El objeto de contexto de grafo.
Devoluciones
El nodo creado.
Tipo de valor devuelto
get_source_directory
Obtiene el directorio de origen del paso y comprueba que el script existe.
get_source_directory(context, source_directory, script_name)
Parámetros
- context
- <xref:azureml.pipeline.core._GraphContext>
El objeto de contexto de grafo.
- hash_paths
- list
Rutas de acceso hash que se usarán al determinar la huella digital del módulo.
Devoluciones
El directorio de origen y las rutas de acceso hash.
Tipo de valor devuelto
resolve_input_arguments
Haga coincidir las entradas y salidas con los argumentos para generar una cadena de argumento.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parámetros
Devoluciones
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).
Tipo de valor devuelto
run_after
Ejecute este paso después del paso especificado.
run_after(step)
Parámetros
Comentarios
Si desea ejecutar un paso, por ejemplo, el paso 3, una vez completados los pasos 1 y 2, puede usar:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Valide que las entradas y salidas de pasos que se proporcionaron en los argumentos están en las listas de entradas y salidas.
static validate_arguments(arguments, inputs, outputs)
Parámetros
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de