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.objectModule
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
|
Identificador del módulo. |
name
Requerido
|
Nombre del módulo. |
description
Requerido
|
Descripción del módulo. |
status
Requerido
|
Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado). |
default_version
Requerido
|
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
|
Identificador del módulo. |
name
Requerido
|
Nombre del módulo. |
description
Requerido
|
Descripción del módulo. |
status
Requerido
|
Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado). |
default_version
Requerido
|
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
|
Nombre del módulo. |
description
Requerido
|
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
|
Identificador del módulo. Valor predeterminado: None
|
name
|
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 |
---|---|
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
|
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
|
Nombre del módulo. |
description
Requerido
|
Descripción del módulo. |
execution_type
Requerido
|
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
|
Versión del módulo. Valor predeterminado: None
|
module_type
|
Tipo de módulo. Valor predeterminado: None
|
step_type
|
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
|
Elemento Runconfig que se usará para python_script_step. Valor predeterminado: None
|
cloud_settings
|
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
|
Nombre del paso. |
source_directory
Requerido
|
Directorio de origen del paso. |
script_name
Requerido
|
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
|
Descripción del módulo. |
execution_type
Requerido
|
Tipo de ejecución del módulo.
Los valores aceptables son |
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
|
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
|
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 Valor predeterminado: None
|
category
|
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
|
Nombre de un script de ADLA, relativo a |
description
Requerido
|
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
|
El grado de paralelismo que se va a usar en este trabajo. Valor predeterminado: None
|
priority
|
El valor de prioridad que se usará en el trabajo actual. Valor predeterminado: None
|
runtime_version
|
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
|
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
|
directory Valor predeterminado: None
|
hash_paths
|
hash_paths Valor predeterminado: None
|
category
|
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
|
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
|
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
|
(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
|
Si 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
|
Si Valor predeterminado: 1
|
vm_size
|
Si Valor predeterminado: standard_d1_v2
|
executable
|
Nombre del comando o archivo ejecutable que se ejecutará como parte del trabajo. Valor predeterminado: None
|
source_directory
|
Directorio de origen. Valor predeterminado: None
|
category
|
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
|
Nombre de un script de Python, relativo a |
description
Requerido
|
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
|
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
|
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 Valor predeterminado: None
|
category
|
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 |
---|---|
Versión predeterminada. |
Excepciones
Tipo | Description |
---|---|
set_description
Establece la descripción del módulo.
set_description(description)
Parámetros
Nombre | Description |
---|---|
description
Requerido
|
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
|
Nombre que se establecerá. |
Excepciones
Tipo | Description |
---|---|
Atributos
default_version
Obtiene la versión predeterminada del módulo.
Devoluciones
Tipo | Description |
---|---|
Cadena de versión predeterminada. |