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

workspace
Workspace
Requerido

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

module_id
str
Requerido

Identificador del módulo.

name
str
Requerido

Nombre del módulo.

description
str
Requerido

Descripción del módulo.

status
str
Requerido

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

default_version
str
Requerido

Versión predeterminada del módulo.

module_version_list
list
Requerido

Una lista de objetos ModuleVersionDescriptor.

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
valor predeterminado: None

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

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

(Solo uso interno). El proveedor ModuleVersion.

workspace
Workspace
Requerido

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

module_id
str
Requerido

Identificador del módulo.

name
str
Requerido

Nombre del módulo.

description
str
Requerido

Descripción del módulo.

status
str
Requerido

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

default_version
str
Requerido

Versión predeterminada del módulo.

module_version_list
list
Requerido

Una lista de objetos ModuleVersionDescriptor.

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

Proveedor del módulo.

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

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

workspace
Workspace
Requerido

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

name
str
Requerido

Nombre del módulo.

description
str
Requerido

Descripción del módulo.

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

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

Devoluciones

Objeto de módulo.

Tipo de valor devuelto

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

workspace
Workspace
Requerido

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

module_id
str
valor predeterminado: None

Identificador del módulo.

name
str
valor predeterminado: None

Nombre del módulo.

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

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

Devoluciones

Objeto de módulo.

Tipo de valor devuelto

get_default

Obtenga la versión predeterminada del módulo.

get_default()

Devoluciones

Versión predeterminada del módulo.

Tipo de valor devuelto

get_default_version

Obtiene la versión predeterminada del módulo.

get_default_version()

Devoluciones

Versión predeterminada del módulo.

Tipo de valor devuelto

str

get_versions

Obtiene todas las versiones del módulo.

static get_versions(workspace, name, _workflow_provider=None)

Parámetros

workspace
Workspace
Requerido

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

name
str
Requerido

Nombre del módulo.

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

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

Devoluciones

Lista de elementos ModuleVersionDescriptor

Tipo de valor devuelto

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

name
str
Requerido

Nombre del módulo.

description
str
Requerido

Descripción del módulo.

execution_type
str
Requerido

Tipo de ejecución del módulo.

input_bindings
list
Requerido

Enlaces de entrada del módulo.

output_bindings
list
Requerido

Enlaces de salida del módulo.

param_defs
list
valor predeterminado: None

Definiciones de los parámetros del módulo.

create_sequencing_ports
bool
valor predeterminado: True

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

allow_reuse
bool
valor predeterminado: True

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

version
str
valor predeterminado: None

Versión del módulo.

module_type
str
valor predeterminado: None

Tipo de módulo.

step_type
str
valor predeterminado: None

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

arguments
list
valor predeterminado: None

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

runconfig
str
valor predeterminado: None

Elemento Runconfig que se usará para python_script_step.

cloud_settings
str
valor predeterminado: None

Configuración que se usará para las nubes.

Devoluciones

Objeto de definición de módulo.

Tipo de valor devuelto

Excepciones

module_version_list

Obtiene la lista de versiones del módulo.

module_version_list()

Devoluciones

Lista de elementos ModuleVersionDescriptor

Tipo de valor devuelto

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

name
str
Requerido

Nombre del paso.

source_directory
str
Requerido

Directorio de origen del paso.

script_name
str
Requerido

Nombre de script del paso.

Devoluciones

Directorio de origen y rutas de acceso hash.

Tipo de valor devuelto

Excepciones

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

description
str
Requerido

Descripción del módulo.

execution_type
str
Requerido

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

inputs
list
Requerido

Entradas del módulo.

outputs
list
Requerido

Salidas del módulo.

param_defs
list
valor predeterminado: None

Definiciones de parámetros del módulo.

create_sequencing_ports
bool
valor predeterminado: True

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

version
str
valor predeterminado: None

Versión del módulo.

is_default
bool
valor predeterminado: False

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

content_path
str
valor predeterminado: None

directory

hash_paths
list
valor predeterminado: None

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.

category
str
valor predeterminado: None

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

arguments
list
valor predeterminado: None

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).

runconfig
RunConfiguration
valor predeterminado: None

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.

Tipo de valor devuelto

Excepciones

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

script_name
str
Requerido

Nombre de un script de ADLA, relativo a source_directory.

description
str
Requerido

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

inputs
list
Requerido

Enlaces de entrada del módulo.

outputs
list
Requerido

Enlaces de salida del módulo.

params
dict
valor predeterminado: None

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

create_sequencing_ports
bool
valor predeterminado: True

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

degree_of_parallelism
int
valor predeterminado: None

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

priority
int
valor predeterminado: None

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

runtime_version
str
valor predeterminado: None

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

compute_target
AdlaCompute, str
valor predeterminado: None

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

version
str
valor predeterminado: None

Versión del módulo.

is_default
bool
valor predeterminado: False

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

source_directory
str
valor predeterminado: None

directory

hash_paths
list
valor predeterminado: None

hash_paths

category
str
valor predeterminado: None

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

arguments
list
valor predeterminado: None

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).

Tipo de valor devuelto

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

description
str
Requerido

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

compute_target
BatchCompute o str
Requerido

Destino de proceso para procesamiento por lotes.

inputs
list
Requerido

Enlaces de entrada del módulo.

outputs
list
Requerido

Enlaces de salida del módulo.

params
dict
valor predeterminado: None

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

create_sequencing_ports
bool
valor predeterminado: True

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

version
str
valor predeterminado: None

Versión del módulo.

is_default
bool
valor predeterminado: False

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

create_pool
bool
valor predeterminado: False

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

pool_id
str
valor predeterminado: None

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

delete_batch_job_after_finish
bool
valor predeterminado: False

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

delete_batch_pool_after_finish
bool
valor predeterminado: False

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

is_positive_exit_code_failure
bool
valor predeterminado: True

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

vm_image_urn
str
valor predeterminado: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

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.

run_task_as_admin
bool
valor predeterminado: False

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

target_compute_nodes
int
valor predeterminado: 1

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

vm_size
str
valor predeterminado: standard_d1_v2

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

executable
str
valor predeterminado: None

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

source_directory
str
valor predeterminado: None

Directorio de origen.

category
str
valor predeterminado: None

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

arguments
list
valor predeterminado: None

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).

Tipo de valor devuelto

Excepciones

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

script_name
str
Requerido

Nombre de un script de Python, relativo a source_directory.

description
str
Requerido

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

inputs
list
Requerido

Enlaces de entrada del módulo.

outputs
list
Requerido

Enlaces de salida del módulo.

params
dict
valor predeterminado: None

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

create_sequencing_ports
bool
valor predeterminado: True

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

version
str
valor predeterminado: None

Versión del módulo.

is_default
bool
valor predeterminado: False

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

source_directory
str
valor predeterminado: None

directory

hash_paths
list
valor predeterminado: None

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.

category
str
valor predeterminado: None

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

arguments
list
valor predeterminado: None

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).

runconfig
RunConfiguration
valor predeterminado: None

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.

Tipo de valor devuelto

resolve

Resuelve y devuelve el elemento ModuleVersion correcto.

resolve(version=None)

Parámetros

version
valor predeterminado: None

Devoluciones

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

Tipo de valor devuelto

set_default_version

Establezca el valor predeterminado de ModuleVersion del módulo.

set_default_version(version_id)

Parámetros

version_id
Requerido

Devoluciones

Versión predeterminada.

Tipo de valor devuelto

str

Excepciones

set_description

Establece la descripción del módulo.

set_description(description)

Parámetros

description
str
Requerido

Descripción que se establecerá.

Excepciones

set_name

Establezca el nombre del módulo.

set_name(name)

Parámetros

name
str
Requerido

Nombre que se establecerá.

Excepciones

Atributos

default_version

Obtiene la versión predeterminada del módulo.

Devoluciones

Cadena de versión predeterminada.

Tipo de valor devuelto

str

description

Obtiene la descripción del módulo.

Devoluciones

Cadena de descripción.

Tipo de valor devuelto

str

id

Obtiene el identificador del módulo.

Devoluciones

El identificador.

Tipo de valor devuelto

str

name

Obtenga el nombre del módulo.

Devoluciones

Nombre.

Tipo de valor devuelto

str

status

Obtiene el estado del módulo.

Devoluciones

Estado.

Tipo de valor devuelto

str