Compartir a través de


Module Clase

Representa una unidad de cálculo utilizada en una canalización de Azure Machine Learning.

Un módulo es una colección de archivos que se ejecutarán en un destino de proceso y una descripción de una interfaz. La colección de archivos puede ser script, binarios o cualquier otro archivo necesario para ejecutarse en el destino de proceso. La interfaz del módulo describe las entradas, salidas y definiciones de parámetros. No los enlaza a valores o datos específicos. Un módulo tiene una instantánea asociada, que captura la colección de archivos definidos para el módulo.

Inicializar módulo.

Herencia
builtins.object
Module

Constructor

Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)

Parámetros

Nombre Description
workspace
Requerido

Objeto de área de trabajo al que pertenece este módulo.

module_id
Requerido
str

Identificador del módulo.

name
Requerido
str

Nombre del módulo.

description
Requerido
str

Descripción del módulo.

status
Requerido
str

Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado).

default_version
Requerido
str

Versión predeterminada del módulo.

module_version_list
Requerido

Una lista de objetos ModuleVersionDescriptor.

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>

(Solo uso interno). Proveedor del módulo.

Valor predeterminado: None
_module_version_provider
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

(Solo uso interno). Proveedor ModuleVersion.

Valor predeterminado: None
workspace
Requerido

Objeto de área de trabajo al que pertenece este módulo.

module_id
Requerido
str

Identificador del módulo.

name
Requerido
str

Nombre del módulo.

description
Requerido
str

Descripción del módulo.

status
Requerido
str

Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado).

default_version
Requerido
str

Versión predeterminada del módulo.

module_version_list
Requerido

Una lista de objetos ModuleVersionDescriptor.

_module_provider
Requerido
<xref:<xref:_AevaMlModuleProvider object>>

Proveedor del módulo.

_module_version_provider
Requerido
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>

Proveedor de ModuleVersion.

Comentarios

Un módulo actúa como contenedor de sus versiones. En el ejemplo siguiente, se crea un elemento ModuleVersion a partir del método publish_python_script y tiene dos entradas y dos salidas. El elemento ModuleVersion de la creación es la versión predeterminada (is_default está establecido en True).


   out_sum = OutputPortDef(name="out_sum", default_datastore_name=datastore.name, default_datastore_mode="mount",
                           label="Sum of two numbers")
   out_prod = OutputPortDef(name="out_prod", default_datastore_name=datastore.name, default_datastore_mode="mount",
                            label="Product of two numbers")
   entry_version = module.publish_python_script("calculate.py", "initial",
                                                inputs=[], outputs=[out_sum, out_prod], params = {"initialNum":12},
                                                version="1", source_directory="./calc")

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.

Este módulo se puede usar al definir una canalización, en distintos pasos, mediante un elemento ModuleStep.

En el ejemplo siguiente, se muestra cómo conectar los datos utilizados en la canalización a las entradas y salidas de un elemento ModuleVersion mediante PipelineData:


   middle_step_input_wiring = {"in1":first_sum, "in2":first_prod}
   middle_sum = PipelineData("middle_sum", datastore=datastore, output_mode="mount",is_directory=False)
   middle_prod = PipelineData("middle_prod", datastore=datastore, output_mode="mount",is_directory=False)
   middle_step_output_wiring = {"out_sum":middle_sum, "out_prod":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.

A continuación, la asignación se puede usar al crear el elemento 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.

La resolución de la versión del módulo que se va a usar se produce tras el envío y sigue este proceso:

  • Se quitan todas las versiones deshabilitadas.
  • Si se ha indicado una versión específica, se utiliza esa, de lo contrario,
  • Si se ha definido una versión predeterminada para el módulo, se utiliza esa, de lo contrario,
  • Si todas las versiones siguen el control de versiones semántico sin letras, se toma el valor más alto, de lo contrario,
  • Se toma la versión del módulo que se actualizó por última vez.

Tenga en cuenta que, dado que la asignación de las entradas y salidas de un nodo a la entrada y salida de un módulo se define tras la creación de la canalización, si la versión resuelta tras el envío tiene una interfaz diferente de la que se resuelva tras la creación de la canalización, se producirá un error en el envío de la canalización.

El módulo subyacente se puede actualizar con nuevas versiones manteniendo la versión predeterminada igual.

Los módulos se denominan de forma única dentro de un área de trabajo.

Métodos

create

Crea el módulo.

deprecate

Establezca el módulo en "Deprecated" (En desuso).

disable

Establezca el módulo en "Disabled" (Deshabilitado).

enable

Establezca el módulo en "Active" (Activo).

get

Obtiene el módulo por nombre o por identificador; produce una excepción si no se proporciona ninguno de ellos.

get_default

Obtenga la versión predeterminada del módulo.

get_default_version

Obtiene la versión predeterminada del módulo.

get_versions

Obtiene todas las versiones del módulo.

module_def_builder

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

module_version_list

Obtiene la lista de versiones del módulo.

process_source_directory

Procesa el directorio de origen del paso y comprueba que el script exista.

publish

Crea un elemento ModuleVersion y lo agrega al módulo actual.

publish_adla_script

Crea un elemento ModuleVersion basado en Azure Data Lake Analytics (ADLA) y lo agrega al módulo actual.

publish_azure_batch

Crea un elemento ModuleVersion que usa Azure Batch y lo agrega al módulo actual.

publish_python_script

Crea un elemento ModuleVersion basado en un script de Python y lo agrega al módulo actual.

resolve

Resuelve y devuelve el elemento ModuleVersion correcto.

set_default_version

Establezca el valor predeterminado de ModuleVersion del módulo.

set_description

Establece la descripción del módulo.

set_name

Establezca el nombre del módulo.

create

Crea el módulo.

static create(workspace, name, description, _workflow_provider=None)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo en la que se va a crear el módulo.

name
Requerido
str

Nombre del módulo.

description
Requerido
str

Descripción del módulo.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

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

Valor predeterminado: None

Devoluciones

Tipo Description

Objeto de módulo.

deprecate

Establezca el módulo en "Deprecated" (En desuso).

deprecate()

disable

Establezca el módulo en "Disabled" (Deshabilitado).

disable()

enable

Establezca el módulo en "Active" (Activo).

enable()

get

Obtiene el módulo por nombre o por identificador; produce una excepción si no se proporciona ninguno de ellos.

static get(workspace, module_id=None, name=None, _workflow_provider=None)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo en la que se va a crear el módulo.

module_id
str

Identificador del módulo.

Valor predeterminado: None
name
str

Nombre del módulo.

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

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

Valor predeterminado: None

Devoluciones

Tipo Description

Objeto de módulo.

get_default

Obtenga la versión predeterminada del módulo.

get_default()

Devoluciones

Tipo Description

Versión predeterminada del módulo.

get_default_version

Obtiene la versión predeterminada del módulo.

get_default_version()

Devoluciones

Tipo Description
str

Versión predeterminada del módulo.

get_versions

Obtiene todas las versiones del módulo.

static get_versions(workspace, name, _workflow_provider=None)

Parámetros

Nombre Description
workspace
Requerido

Área de trabajo en la que se creó el módulo.

name
Requerido
str

Nombre del módulo.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

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

Valor predeterminado: None

Devoluciones

Tipo Description

Lista de elementos ModuleVersionDescriptor

module_def_builder

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

static module_def_builder(name, description, execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, step_type=None, arguments=None, runconfig=None, cloud_settings=None)

Parámetros

Nombre Description
name
Requerido
str

Nombre del módulo.

description
Requerido
str

Descripción del módulo.

execution_type
Requerido
str

Tipo de ejecución del módulo.

input_bindings
Requerido

Enlaces de entrada del módulo.

output_bindings
Requerido

Enlaces de salida del módulo.

param_defs

Definiciones de los parámetros del módulo.

Valor predeterminado: None
create_sequencing_ports

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

Valor predeterminado: True
allow_reuse

Indica si el módulo estará disponible para reutilizarse.

Valor predeterminado: True
version
str

Versión del módulo.

Valor predeterminado: None
module_type
str

Tipo de módulo.

Valor predeterminado: None
step_type
str

Tipo de paso asociado a este módulo, por ejemplo, "PythonScriptStep", "HyperDriveStep", etc.

Valor predeterminado: None
arguments

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

Valor predeterminado: None
runconfig
str

Elemento Runconfig que se usará para python_script_step.

Valor predeterminado: None
cloud_settings
str

Configuración que se usará para las nubes.

Valor predeterminado: None

Devoluciones

Tipo Description

Objeto de definición de módulo.

Excepciones

Tipo Description

module_version_list

Obtiene la lista de versiones del módulo.

module_version_list()

Devoluciones

Tipo Description

Lista de elementos ModuleVersionDescriptor

process_source_directory

Procesa el directorio de origen del paso y comprueba que el script exista.

static process_source_directory(name, source_directory, script_name)

Parámetros

Nombre Description
name
Requerido
str

Nombre del paso.

source_directory
Requerido
str

Directorio de origen del paso.

script_name
Requerido
str

Nombre de script del paso.

Devoluciones

Tipo Description

Directorio de origen y rutas de acceso hash.

Excepciones

Tipo Description

publish

Crea un elemento ModuleVersion y lo agrega al módulo actual.

publish(description, execution_type, inputs, outputs, param_defs=None, create_sequencing_ports=True, version=None, is_default=False, content_path=None, hash_paths=None, category=None, arguments=None, runconfig=None)

Parámetros

Nombre Description
description
Requerido
str

Descripción del módulo.

execution_type
Requerido
str

Tipo de ejecución del módulo. Los valores aceptables son esCloud, adlcloud y AzureBatchCloud.

inputs
Requerido

Entradas del módulo.

outputs
Requerido

Salidas del módulo.

param_defs

Definiciones de parámetros del módulo.

Valor predeterminado: None
create_sequencing_ports

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

Valor predeterminado: True
version
str

Versión del módulo.

Valor predeterminado: None
is_default

Indica si la versión publicada va a ser la predeterminada.

Valor predeterminado: False
content_path
str

directory

Valor predeterminado: None
hash_paths

Una lista de rutas de acceso a hash al comprobar si hay cambios en el contenido del paso. Si no se detecta ningún cambio, la canalización reutilizará el contenido del paso de una ejecución anterior. De manera predeterminada, se aplica un algoritmo hash al contenido de source_directory (excepto los archivos enumerados en los archivos .amlignore o .gitignore). EN DESUSO: ya no es necesario.

Valor predeterminado: None
category
str

Categoría de la versión del módulo

Valor predeterminado: None
arguments

Argumentos que se usarán al llamar al módulo. Los argumentos pueden ser cadenas, referencias de entrada (InputPortDef), referencias de salida (OutputPortDef) y parámetros de canalización (PipelineParameter).

Valor predeterminado: None
runconfig

Elemento RunConfiguration opcional. 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

Devoluciones

Tipo Description

Excepciones

Tipo Description

publish_adla_script

Crea un elemento ModuleVersion basado en Azure Data Lake Analytics (ADLA) y lo agrega al módulo actual.

publish_adla_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, degree_of_parallelism=None, priority=None, runtime_version=None, compute_target=None, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None)

Parámetros

Nombre Description
script_name
Requerido
str

Nombre de un script de ADLA, relativo a source_directory.

description
Requerido
str

Descripción de la versión del módulo.

inputs
Requerido

Enlaces de entrada del módulo.

outputs
Requerido

Enlaces de salida del módulo.

params

Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.

Valor predeterminado: None
create_sequencing_ports

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

Valor predeterminado: True
degree_of_parallelism
int

El grado de paralelismo que se va a usar en este trabajo.

Valor predeterminado: None
priority
int

El valor de prioridad que se usará en el trabajo actual.

Valor predeterminado: None
runtime_version
str

Versión del entorno de ejecución del motor de Azure Data Lake Analytics (ADLA).

Valor predeterminado: None
compute_target

Recurso de proceso de ADLA que se va a usar para este trabajo.

Valor predeterminado: None
version
str

Versión del módulo.

Valor predeterminado: None
is_default

Indica si la versión publicada va a ser la predeterminada.

Valor predeterminado: False
source_directory
str

directory

Valor predeterminado: None
hash_paths

hash_paths

Valor predeterminado: None
category
str

Categoría de la versión del módulo

Valor predeterminado: None
arguments

Argumentos que se usarán al llamar al módulo. Los argumentos pueden ser cadenas, referencias de entrada (InputPortDef), referencias de salida (OutputPortDef) y parámetros de canalización (PipelineParameter).

Valor predeterminado: None

Devoluciones

Tipo Description

publish_azure_batch

Crea un elemento ModuleVersion que usa Azure Batch y lo agrega al módulo actual.

publish_azure_batch(description, compute_target, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, create_pool=False, pool_id=None, delete_batch_job_after_finish=False, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', executable=None, source_directory=None, category=None, arguments=None)

Parámetros

Nombre Description
description
Requerido
str

Descripción de la versión del módulo.

compute_target
Requerido

Destino de proceso para procesamiento por lotes.

inputs
Requerido

Enlaces de entrada del módulo.

outputs
Requerido

Enlaces de salida del módulo.

params

Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.

Valor predeterminado: None
create_sequencing_ports

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

Valor predeterminado: True
version
str

Versión del módulo.

Valor predeterminado: None
is_default

Indica si la versión publicada va a ser la predeterminada.

Valor predeterminado: False
create_pool

Indica si se debe crear el grupo antes de ejecutar los trabajos.

Valor predeterminado: False
pool_id
str

(Obligatorio) Identificador del grupo en el que se ejecutará el trabajo.

Valor predeterminado: None
delete_batch_job_after_finish

Indica si se va a eliminar el trabajo de la cuenta de Batch una vez finalizado.

Valor predeterminado: False
delete_batch_pool_after_finish

Indica si se va a eliminar el grupo después de que finalice el trabajo.

Valor predeterminado: False
is_positive_exit_code_failure

Indica si se produce un error en el trabajo si la tarea existe con un código positivo.

Valor predeterminado: True
vm_image_urn
str

Si create_pool es True y la máquina virtual usa VirtualMachineConfiguration, este parámetro indica la imagen de máquina virtual que se va a usar. Formato del valor: urn:publisher:offer:sku. Ejemplo: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

Valor predeterminado: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

Indica si la tarea se debe ejecutar con privilegios de administrador.

Valor predeterminado: False
target_compute_nodes
int

Si create_pool es True, indica cuántos nodos de proceso se agregarán al grupo.

Valor predeterminado: 1
vm_size
str

Si create_pool es True, indica el tamaño de máquina virtual de los nodos de proceso.

Valor predeterminado: standard_d1_v2
executable
str

Nombre del comando o archivo ejecutable que se ejecutará como parte del trabajo.

Valor predeterminado: None
source_directory
str

Directorio de origen.

Valor predeterminado: None
category
str

Categoría de la versión del módulo

Valor predeterminado: None
arguments

Argumentos que se usarán al llamar al módulo. Los argumentos pueden ser cadenas, referencias de entrada (InputPortDef), referencias de salida (OutputPortDef) y parámetros de canalización (PipelineParameter).

Valor predeterminado: None

Devoluciones

Tipo Description

Excepciones

Tipo Description

publish_python_script

Crea un elemento ModuleVersion basado en un script de Python y lo agrega al módulo actual.

publish_python_script(script_name, description, inputs, outputs, params=None, create_sequencing_ports=True, version=None, is_default=False, source_directory=None, hash_paths=None, category=None, arguments=None, runconfig=None)

Parámetros

Nombre Description
script_name
Requerido
str

Nombre de un script de Python, relativo a source_directory.

description
Requerido
str

Descripción de la versión del módulo.

inputs
Requerido

Enlaces de entrada del módulo.

outputs
Requerido

Enlaces de salida del módulo.

params

Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.

Valor predeterminado: None
create_sequencing_ports

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

Valor predeterminado: True
version
str

Versión del módulo.

Valor predeterminado: None
is_default

Indica si la versión publicada va a ser la predeterminada.

Valor predeterminado: False
source_directory
str

directory

Valor predeterminado: None
hash_paths

Una lista de rutas de acceso a hash al comprobar si hay cambios en el contenido del paso. Si no se detecta ningún cambio, la canalización reutilizará el contenido del paso de una ejecución anterior. De manera predeterminada, se aplica un algoritmo hash al contenido de source_directory (excepto los archivos enumerados en los archivos .amlignore o .gitignore). EN DESUSO: ya no es necesario.

Valor predeterminado: None
category
str

Categoría de la versión del módulo

Valor predeterminado: None
arguments

Argumentos que se usarán al llamar al módulo. Los argumentos pueden ser cadenas, referencias de entrada (InputPortDef), referencias de salida (OutputPortDef) y parámetros de canalización (PipelineParameter).

Valor predeterminado: None
runconfig

Elemento RunConfiguration opcional. 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

Devoluciones

Tipo Description

resolve

Resuelve y devuelve el elemento ModuleVersion correcto.

resolve(version=None)

Parámetros

Nombre Description
version
Valor predeterminado: None

Devoluciones

Tipo Description

Versión del módulo que se va a usar.

set_default_version

Establezca el valor predeterminado de ModuleVersion del módulo.

set_default_version(version_id)

Parámetros

Nombre Description
version_id
Requerido

Devoluciones

Tipo Description
str

Versión predeterminada.

Excepciones

Tipo Description

set_description

Establece la descripción del módulo.

set_description(description)

Parámetros

Nombre Description
description
Requerido
str

Descripción que se establecerá.

Excepciones

Tipo Description

set_name

Establezca el nombre del módulo.

set_name(name)

Parámetros

Nombre Description
name
Requerido
str

Nombre que se establecerá.

Excepciones

Tipo Description

Atributos

default_version

Obtiene la versión predeterminada del módulo.

Devoluciones

Tipo Description
str

Cadena de versión predeterminada.

description

Obtiene la descripción del módulo.

Devoluciones

Tipo Description
str

Cadena de descripción.

id

Obtiene el identificador del módulo.

Devoluciones

Tipo Description
str

El identificador.

name

Obtenga el nombre del módulo.

Devoluciones

Tipo Description
str

Nombre.

status

Obtiene el estado del módulo.

Devoluciones

Tipo Description
str

Estado.