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
- status
- str
Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado).
- _module_provider
- <xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Solo uso interno). Proveedor del módulo.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Solo uso interno). El proveedor ModuleVersion.
- status
- str
Nuevo estado del módulo: "Active" (Activo), "Deprecated" (En desuso) o "Disabled" (Deshabilitado).
- _module_provider
- <xref:<xref:_AevaMlModuleProvider object>>
Proveedor del módulo.
- _module_version_provider
- <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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(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
get_versions
Obtiene todas las versiones del módulo.
static get_versions(workspace, name, _workflow_provider=None)
Parámetros
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(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
- create_sequencing_ports
- bool
Indica si se crearán puertos de secuenciación para el módulo.
- allow_reuse
- bool
Indica si el módulo estará disponible para reutilizarse.
- step_type
- str
Tipo de paso asociado a este módulo, por ejemplo, "PythonScriptStep", "HyperDriveStep", etc.
- arguments
- list
Lista de argumentos anotados que se van a usar al llamar a este módulo.
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
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
- execution_type
- str
Tipo de ejecución del módulo.
Los valores aceptables son esCloud
, adlcloud
y AzureBatchCloud
.
- create_sequencing_ports
- bool
Indica si se crearán puertos de secuenciación para el módulo.
- is_default
- bool
Indica si la versión publicada va a ser la predeterminada.
- hash_paths
- list
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.
- arguments
- list
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
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
- params
- dict
Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.
- create_sequencing_ports
- bool
Indica si se crearán puertos de secuenciación para el módulo.
- degree_of_parallelism
- int
El grado de paralelismo que se va a usar en este trabajo.
- runtime_version
- str
Versión del entorno de ejecución del motor de Azure Data Lake Analytics (ADLA).
- compute_target
- AdlaCompute, str
Recurso de proceso de ADLA que se va a usar para este trabajo.
- is_default
- bool
Indica si la versión publicada va a ser la predeterminada.
- arguments
- list
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
- params
- dict
Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.
- create_sequencing_ports
- bool
Indica si se crearán puertos de secuenciación para el módulo.
- is_default
- bool
Indica si la versión publicada va a ser la predeterminada.
- create_pool
- bool
Indica si se debe crear el grupo antes de ejecutar los trabajos.
- pool_id
- str
(Obligatorio) Identificador del grupo en el que se ejecutará el trabajo.
- delete_batch_job_after_finish
- bool
Indica si se va a eliminar el trabajo de la cuenta de Batch una vez finalizado.
- delete_batch_pool_after_finish
- bool
Indica si se va a eliminar el grupo después de que finalice el trabajo.
- is_positive_exit_code_failure
- bool
Indica si se produce un error en el trabajo si la tarea existe con un código positivo.
- 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
.
- run_task_as_admin
- bool
Indica si la tarea se debe ejecutar con privilegios de administrador.
- target_compute_nodes
- int
Si create_pool
es True, indica cuántos nodos de proceso se agregarán al grupo.
- vm_size
- str
Si create_pool
es True, indica el tamaño de máquina virtual de los nodos de proceso.
- executable
- str
Nombre del comando o archivo ejecutable que se ejecutará como parte del trabajo.
- arguments
- list
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
- params
- dict
Parámetros de ModuleVersion, como pares de nombre y valor predeterminado.
- create_sequencing_ports
- bool
Indica si se crearán puertos de secuenciación para el módulo.
- is_default
- bool
Indica si la versión publicada va a ser la predeterminada.
- hash_paths
- list
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.
- arguments
- list
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
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
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
Devoluciones
Versión predeterminada.
Tipo de valor devuelto
Excepciones
set_description
Establece la descripción del módulo.
set_description(description)
Parámetros
Excepciones
set_name
Establezca el nombre del módulo.
set_name(name)
Parámetros
Excepciones
Atributos
default_version
Obtiene la versión predeterminada del módulo.
Devoluciones
Cadena de versión predeterminada.
Tipo de valor devuelto
description
id
name
status
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de