Share via


ModuleStep Clase

Crea un paso de canalización de Azure Machine Learning para ejecutar una versión específica de un módulo.

Los objetos Module definen cálculos reutilizables, como scripts o ejecutables, que se pueden usar en diferentes escenarios de aprendizaje automático y por usuarios diferentes. Para usar una versión específica de un módulo en una canalización, cree un paso ModuleStep. ModuleStep es un paso en la canalización que usa una clase ModuleVersion existente.

Para obtener un ejemplo del uso de ModuleStep, consulte el cuaderno https://aka.ms/pl-modulestep.

Cree un paso de canalización de Azure ML para ejecutar una versión específica de un módulo.

Herencia
ModuleStep

Constructor

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

Parámetros

Nombre Description
module

El módulo usado en el paso. Proporcione el parámetro module o module_version, pero no ambos.

valor predeterminado: None
version
str

Versión del módulo que se usa en el paso.

valor predeterminado: None
module_version

ModuleVersion del módulo usado en el paso. Proporcione el parámetro module o module_version, pero no ambos.

valor predeterminado: None
inputs_map

Un diccionario que asigna los nombres de las definiciones de puerto de ModuleVersion a las entradas del paso.

valor predeterminado: None
outputs_map

Un diccionario que asigna los nombres de las definiciones de puerto de ModuleVersion a las salidas del paso.

valor predeterminado: None
compute_target

El destino de proceso que se usará. Si no se especifica, se usará el destino de runconfig. Puede ser un objeto de destino de proceso o el nombre de cadena de un destino de proceso en el área de trabajo. Opcionalmente, si el destino de proceso no está disponible en el momento de la creación de la canalización, puede especificar una tupla de ("nombre de destino de proceso", "tipo de destino de proceso") para evitar capturar el objeto de destino de proceso (el tipo AmlCompute es "AmlCompute" y el tipo RemoteCompute es "VirtualMachine").

valor predeterminado: None
runconfig

Una clase RunConfiguration opcional que se usará. Se puede usar RunConfiguration para especificar requisitos adicionales para la ejecución, como las dependencias de Conda y una imagen de Docker.

valor predeterminado: None
runconfig_pipeline_params

Una invalidación de las propiedades runconfig en tiempo de ejecución mediante pares clave-valor cada una con el nombre de la propiedad runconfig y PipelineParameter para esa propiedad.

Valores admitidos: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

valor predeterminado: None
arguments

Lista de argumentos de línea de comandos para el archivo de script de Python. Los argumentos se entregarán al destino de proceso a través de argumentos en RunConfiguration. Para obtener más información sobre cómo controlar argumentos como símbolos especiales, vea los argumentos en RunConfiguration

valor predeterminado: None
params

Un diccionario de pares de nombre-valor.

valor predeterminado: None
name
str

Nombre del paso.

valor predeterminado: None
_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

(Solo uso interno). Proveedor de flujo de trabajo.

valor predeterminado: None
module
Requerido

El módulo usado en el paso. Proporcione el parámetro module o module_version, pero no ambos.

version
Requerido
str

Versión del módulo que se usa en el paso.

module_version
Requerido

ModuleVersion del módulo usado en el paso. Proporcione el parámetro module o module_version, pero no ambos.

inputs_map
Requerido
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

Un diccionario que asigna los nombres de las definiciones de puerto de ModuleVersion a las entradas del paso.

outputs_map
Requerido
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

Un diccionario que asigna los nombres de las definiciones de puerto de ModuleVersion a las salidas del paso.

compute_target
Requerido

El destino de proceso que se usará. Si no se especifica, se usará el destino de runconfig. Puede ser un objeto de destino de proceso o el nombre de cadena de un destino de proceso en el área de trabajo. Opcionalmente, si el destino de proceso no está disponible en el momento de la creación de la canalización, puede especificar una tupla de ("nombre de destino de proceso", "tipo de destino de proceso") para evitar capturar el objeto de destino de proceso (el tipo AmlCompute es "AmlCompute" y el tipo RemoteCompute es "VirtualMachine").

runconfig
Requerido

Una clase RunConfiguration opcional que se usará. Se puede usar RunConfiguration para especificar requisitos adicionales para la ejecución, como las dependencias de Conda y una imagen de Docker.

runconfig_pipeline_params
Requerido

Una invalidación de las propiedades runconfig en tiempo de ejecución mediante pares clave-valor cada una con el nombre de la propiedad runconfig y PipelineParameter para esa propiedad.

Valores admitidos: "NodeCount", "MpiProcessCountPerNode", "TensorflowWorkerCount", "TensorflowParameterServerCount"

arguments
Requerido

Lista de argumentos de línea de comandos para el archivo de script de Python. Los argumentos se entregarán al destino de proceso a través de argumentos en RunConfiguration. Para obtener más información sobre cómo controlar argumentos como símbolos especiales, vea los argumentos en RunConfiguration

params
Requerido

Un diccionario de pares de nombre-valor.

name
Requerido
str

Nombre del paso.

_wokflow_provider
Requerido

(Solo uso interno). Proveedor de flujo de trabajo.

Comentarios

Se usa Module para crear y administrar una unidad de cálculo que se puede volver a usar de una canalización de Azure Machine Learning. ModuleStep es el paso integrado en Azure Machine Learning se usa para consumir un módulo. Puede definir específicamente qué ModuleVersion usar o dejar que Azure Machine Learning resuelva qué ModuleVersion usar siguiendo el proceso de resolución definido en la sección de comentarios de la clase Module. Para definir qué ModuleVersion se usa en una canalización enviada, defina una de las siguientes opciones al crear un paso ModuleStep:

  • Un objeto ModuleVersion.

  • Un objeto Module y un valor de versión.

  • Un objeto Module sin un valor de versión. En este caso, la resolución de versiones puede variar entre envíos.

Debe definir la asignación entre las entradas y salidas de ModuleStep a las entradas y salidas de ModuleVersion.

En el ejemplo siguiente se muestra cómo crear un ModuleStep como parte de la canalización con varios objetos ModuleStep:


   middle_step = ModuleStep(module=module,
                            inputs_map= middle_step_input_wiring,
                            outputs_map= middle_step_output_wiring,
                            runconfig=RunConfiguration(), compute_target=aml_compute,
                            arguments = ["--file_num1", first_sum, "--file_num2", first_prod,
                                         "--output_sum", middle_sum, "--output_product", middle_prod])

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb.

Métodos

create_node

Cree un nodo a partir del paso ModuleStep y agréguelo al gráfico especificado.

No se debe llamar a este método directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node

Cree un nodo a partir del paso ModuleStep y agréguelo al gráfico especificado.

No se debe llamar a este método directamente. Cuando se crea una instancia de una canalización con este paso, Azure ML pasa automáticamente los parámetros necesarios a través de este método para que ese paso se pueda agregar a un gráfico de canalización que represente el flujo de trabajo.

create_node(graph, default_datastore, context)

Parámetros

Nombre Description
graph
Requerido

El objeto de grafo al que se agrega el nodo.

default_datastore
Requerido

El almacén de datos predeterminado.

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

El contexto del grafo.

Devoluciones

Tipo Description

El objeto de nodo.