Compartir a través de


Module Clase

Representa una unidad de cálculo que se usa 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, archivos 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.

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

El 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

El nuevo estado del módulo: "Activo", "En desuso" o "Deshabilitado".

default_version
Requerido
str

Versión predeterminada del módulo.

module_version_list
Requerido

Lista de ModuleVersionDescriptor objetos.

_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

El 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

El nuevo estado del módulo: "Activo", "En desuso" o "Deshabilitado".

default_version
Requerido
str

Versión predeterminada del módulo.

module_version_list
Requerido

Lista de ModuleVersionDescriptor objetos.

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

Proveedor del módulo.

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

Proveedor ModuleVersion.

Comentarios

Un módulo actúa como contenedor de sus versiones. En el ejemplo siguiente, se crea un ModuleVersion a partir del publish_python_script método y tiene dos entradas y dos salidas. Create ModuleVersion es la versión predeterminada (is_default se establece 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 .ModuleStep

En el ejemplo siguiente se muestra cómo conectar los datos usados en la canalización a las entradas y salidas de un 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, se puede usar la asignación al crear 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 el siguiente proceso:

  • Quitar todas las versiones deshabilitadas
  • Si se indicó una versión específica, úselo; de lo contrario,
  • Si se definió una versión predeterminada en el módulo, úselo; de lo contrario,
  • Si todas las versiones siguen el control de versiones semántico sin letras, tome el valor más alto; de lo contrario,
  • Tome la versión del módulo que se actualizó por última vez.

Tenga en cuenta que, dado que las entradas y salidas de un nodo se asignan a la entrada y salida de un módulo se definen 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 resuelve 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 mientras mantiene la versión predeterminada igual.

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

Métodos

create

Cree el módulo.

deprecate

Establezca el módulo en "En desuso".

disable

Establezca el módulo en "Disabled".

enable

Establezca el módulo en "Activo".

get

Obtener el módulo por nombre o por identificador; produce una excepción si no se proporciona ninguna de las dos opciones.

get_default

Obtenga la versión predeterminada del módulo.

get_default_version

Obtenga la versión predeterminada del módulo.

get_versions

Obtenga todas las versiones del módulo.

module_def_builder

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

module_version_list

Obtenga la lista Versión del módulo.

process_source_directory

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

publish

Cree un ModuleVersion y agréguelo al módulo actual.

publish_adla_script

Cree un moduleVersion basado en Azure Data Lake Analytics (ADLA) y agréguelo al módulo actual.

publish_azure_batch

Cree un moduleVersion que use Azure batch y agréguelo al módulo actual.

publish_python_script

Cree un moduleVersion basado en un script de Python y agréguelo al módulo actual.

resolve

Resuelva y devuelva la propiedad ModuleVersion correcta.

set_default_version

Establezca moduleVersion predeterminado del módulo.

set_description

Establezca la descripción del módulo.

set_name

Establezca el nombre del módulo.

create

Cree 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

Module (objeto)

deprecate

Establezca el módulo en "En desuso".

deprecate()

disable

Establezca el módulo en "Disabled".

disable()

enable

Establezca el módulo en "Activo".

enable()

get

Obtener el módulo por nombre o por identificador; produce una excepción si no se proporciona ninguna de las dos opciones.

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

Module (objeto)

get_default

Obtenga la versión predeterminada del módulo.

get_default()

Devoluciones

Tipo Description

Versión predeterminada del módulo.

get_default_version

Obtenga la versión predeterminada del módulo.

get_default_version()

Devoluciones

Tipo Description
str

Versión predeterminada del módulo.

get_versions

Obtenga 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 ModuleVersionDescriptor

module_def_builder

Cree 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 parámetros de 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 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
str

Configuración que se usará para nubes

Valor predeterminado: None

Devoluciones

Tipo Description

El objeto Module def.

Excepciones

Tipo Description

module_version_list

Obtenga la lista Versión del módulo.

module_version_list()

Devoluciones

Tipo Description

Lista de ModuleVersionDescriptor

process_source_directory

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

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 del script del paso.

Devoluciones

Tipo Description

Directorio de origen y rutas de acceso hash.

Excepciones

Tipo Description

publish

Cree un ModuleVersion y agréguelo 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 module.

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 es la predeterminada.

Valor predeterminado: False
content_path
str

directorio

Valor predeterminado: None
hash_paths

Lista de rutas de acceso a hash al comprobar si hay cambios en el contenido del paso. Si no se detectan cambios, la canalización reutilizará el contenido del paso de una ejecución anterior. De forma predeterminada, el contenido de source_directory son hash (excepto los archivos enumerados en .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

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

Cree un moduleVersion basado en Azure Data Lake Analytics (ADLA) y agréguelo 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, en relación con 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

Los parámetros ModuleVersion, como pares name-default_value.

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

La versión en tiempo de ejecución del motor de Azure Data Lake Analytics (ADLA).

Valor predeterminado: None
compute_target

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 es la predeterminada.

Valor predeterminado: False
source_directory
str

directorio

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

Cree un moduleVersion que use Azure batch y agréguelo 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 BatchCompute.

inputs
Requerido

Enlaces de entrada del módulo.

outputs
Requerido

Enlaces de salida del módulo.

params

Los parámetros ModuleVersion, como pares name-default_value.

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 es la predeterminada.

Valor predeterminado: False
create_pool

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

Valor predeterminado: False
pool_id
str

(Obligatorio) Identificador del grupo donde 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 una vez finalizado 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 de 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 debe ejecutarse 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 la máquina virtual de los nodos de proceso.

Valor predeterminado: standard_d1_v2
executable
str

Nombre del comando o 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

Cree un moduleVersion basado en un script de Python y agréguelo 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, en relación con 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

Los parámetros ModuleVersion, como pares name-default_value.

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 es la predeterminada.

Valor predeterminado: False
source_directory
str

directorio

Valor predeterminado: None
hash_paths

Lista de rutas de acceso a hash al comprobar si hay cambios en el contenido del paso. Si no se detectan cambios, la canalización reutilizará el contenido del paso de una ejecución anterior. De forma predeterminada, el contenido de source_directory son hash (excepto los archivos enumerados en .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

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

Resuelva y devuelva la propiedad ModuleVersion correcta.

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 moduleVersion predeterminado del módulo.

set_default_version(version_id)

Parámetros

Nombre Description
version_id
Requerido

Devoluciones

Tipo Description
str

La versión predeterminada.

Excepciones

Tipo Description

set_description

Establezca la descripción del módulo.

set_description(description)

Parámetros

Nombre Description
description
Requerido
str

Descripción que se va a 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 va a establecer.

Excepciones

Tipo Description

Atributos

default_version

Obtenga la versión predeterminada del módulo.

Devoluciones

Tipo Description
str

Cadena de versión predeterminada.

description

Obtenga la descripción del módulo.

Devoluciones

Tipo Description
str

Cadena de descripción.

id

Obtenga el identificador del módulo.

Devoluciones

Tipo Description
str

El identificador.

name

Obtenga el nombre del módulo.

Devoluciones

Tipo Description
str

Nombre.

status

Obtenga el estado del módulo.

Devoluciones

Tipo Description
str

Estado.