Module Classe
Représente une unité de calcul utilisée dans un pipeline Azure Machine Learning.
Un module est une collection de fichiers qui s’exécutent sur une cible de calcul et une description d’une interface. La collection de fichiers peut comporter des scripts, des fichiers binaires ou tout autre fichier nécessaire à l’exécution sur la cible de calcul. L’interface du module décrit les entrées, les sorties et les définitions de paramètres. Elle ne les lie pas à des valeurs ou des données spécifiques. Un module est associé à une capture instantanée, qui capture la collection de fichiers définie pour le module.
Initialiser le module.
- Héritage
-
builtins.objectModule
Constructeur
Module(workspace, module_id, name, description, status, default_version, module_version_list, _module_provider=None, _module_version_provider=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Objet d’espace de travail auquel ce module appartient. |
module_id
Obligatoire
|
ID du module. |
name
Obligatoire
|
Nom du module. |
description
Obligatoire
|
Description du module. |
status
Obligatoire
|
Nouvel état du module : « Actif », « Déprécié » ou « Désactivé ». |
default_version
Obligatoire
|
Version par défaut du module. |
module_version_list
Obligatoire
|
Liste des objets ModuleVersionDescriptor. |
_module_provider
|
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Utilisation interne uniquement.) Fournisseur de module. Valeur par défaut: None
|
_module_version_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Utilisation interne uniquement.) Fournisseur ModuleVersion. Valeur par défaut: None
|
workspace
Obligatoire
|
Objet d’espace de travail auquel ce module appartient. |
module_id
Obligatoire
|
ID du module. |
name
Obligatoire
|
Nom du module. |
description
Obligatoire
|
Description du module. |
status
Obligatoire
|
Nouvel état du module : « Actif », « Déprécié » ou « Désactivé ». |
default_version
Obligatoire
|
Version par défaut du module. |
module_version_list
Obligatoire
|
Liste des objets ModuleVersionDescriptor. |
_module_provider
Obligatoire
|
<xref:<xref:_AevaMlModuleProvider object>>
Fournisseur de module. |
_module_version_provider
Obligatoire
|
<xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
Fournisseur de ModuleVersion. |
Remarques
Un module agit comme un conteneur de ses versions. Dans l’exemple suivant, un ModuleVersion est créé à partir de la méthode publish_python_script. Il a deux entrées et deux sorties. Le ModuleVersion créé représente la version par défaut (is_default
a la valeur 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")
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Vous pouvez utiliser ce module au moment de la définition d’un pipeline, à des étapes différentes, à l’aide de ModuleStep.
L’exemple suivant montre comment relier les données utilisées dans le pipeline aux entrées et aux sorties d’un ModuleVersion à l’aide de 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}
Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb
Vous pouvez ensuite utiliser le mappage au moment de la création du 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])
Un exemple complet est disponible sur 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 résolution de la version du module à utiliser s’effectue au moment de la soumission selon le processus suivant :
- Supprimer toutes les versions désactivées
- Si une version spécifique a été indiquée, utiliser celle-ci, sinon
- Si une version par défaut a été définie pour le module, utiliser celle-ci, sinon
- Si toutes les versions suivent la gestion sémantique de versions sans lettres, prendre la valeur la plus élevée, sinon
- Prendre la version du module qui a été mise à jour en dernier
Notez que dans la mesure où le mappage des entrées et sorties d’un nœud vers les entrées et sorties d’un module est défini au moment de la création du pipeline, si la version résolue au moment de la soumission a une interface distincte de la version résolue au moment de la création du pipeline, la soumission du pipeline échoue.
Vous pouvez mettre à jour le module sous-jacent avec de nouvelles versions tout en conservant la même version par défaut.
Les modules sont nommés de manière unique dans un espace de travail.
Méthodes
create |
Crée le module. |
deprecate |
Affecte l’état « Déprécié » au module. |
disable |
Affecte l’état « Désactivé » au module. |
enable |
Affecte l’état « Actif » au module. |
get |
Obtient le module par son nom ou son ID. Lève une exception si aucune de ces valeurs n’est fournie. |
get_default |
Obtient la version par défaut du module. |
get_default_version |
Obtient la version par défaut du module. |
get_versions |
Obtient toutes les versions du module. |
module_def_builder |
Crée l’objet de définition de module qui décrit l’étape. |
module_version_list |
Obtient la liste des versions du module. |
process_source_directory |
Traite le répertoire source de l’étape et vérifie que le script existe. |
publish |
Crée un ModuleVersion et l’ajoute au module actuel. |
publish_adla_script |
Crée un ModuleVersion en fonction de ADLA (Azure Data Lake Analytics) et l’ajoute au module actuel. |
publish_azure_batch |
Crée un ModuleVersion qui utilise Azure Batch et l’ajoute au module actuel. |
publish_python_script |
Crée un ModuleVersion basé sur un script Python et l’ajoute au module actuel. |
resolve |
Résout et retourne le ModuleVersion approprié. |
set_default_version |
Définit le ModuleVersion par défaut du module. |
set_description |
Définit la description du module. |
set_name |
Définit le nom du module. |
create
Crée le module.
static create(workspace, name, description, _workflow_provider=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel créer le module. |
name
Obligatoire
|
Nom du module. |
description
Obligatoire
|
Description du module. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet Module |
deprecate
Affecte l’état « Déprécié » au module.
deprecate()
disable
Affecte l’état « Désactivé » au module.
disable()
enable
Affecte l’état « Actif » au module.
enable()
get
Obtient le module par son nom ou son ID. Lève une exception si aucune de ces valeurs n’est fournie.
static get(workspace, module_id=None, name=None, _workflow_provider=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel créer le module. |
module_id
|
ID du module. Valeur par défaut: None
|
name
|
Nom du module. Valeur par défaut: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet Module |
get_default
Obtient la version par défaut du module.
get_default()
Retours
Type | Description |
---|---|
Version par défaut du module. |
get_default_version
Obtient la version par défaut du module.
get_default_version()
Retours
Type | Description |
---|---|
Version par défaut du module. |
get_versions
Obtient toutes les versions du module.
static get_versions(workspace, name, _workflow_provider=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel le module a été créé. |
name
Obligatoire
|
Nom du module. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Liste de ModuleVersionDescriptor |
module_def_builder
Crée l’objet de définition de module qui décrit l’étape.
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)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom du module. |
description
Obligatoire
|
Description du module. |
execution_type
Obligatoire
|
Type d’exécution du module. |
input_bindings
Obligatoire
|
Liaisons d’entrée du module. |
output_bindings
Obligatoire
|
Liaisons de sortie du module. |
param_defs
|
Définitions des paramètres du module. Valeur par défaut: None
|
create_sequencing_ports
|
Indique si des ports de séquencement doivent être créés pour le module. Valeur par défaut: True
|
allow_reuse
|
Indique si le module peut être réutilisé. Valeur par défaut: True
|
version
|
Version du module. Valeur par défaut: None
|
module_type
|
Type du module. Valeur par défaut: None
|
step_type
|
Type d’étape associé à ce module, par exemple « PythonScriptStep », « HyperDriveStep », etc. Valeur par défaut: None
|
arguments
|
Liste d’arguments annotés à utiliser au moment de l’appel de ce module Valeur par défaut: None
|
runconfig
|
Runconfig à utiliser pour python_script_step Valeur par défaut: None
|
cloud_settings
|
Paramètres à utiliser pour les clouds Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Objet de définition de module. |
Exceptions
Type | Description |
---|---|
module_version_list
Obtient la liste des versions du module.
module_version_list()
Retours
Type | Description |
---|---|
Liste de ModuleVersionDescriptor |
process_source_directory
Traite le répertoire source de l’étape et vérifie que le script existe.
static process_source_directory(name, source_directory, script_name)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom de l'étape. |
source_directory
Obligatoire
|
Répertoire source de l’étape. |
script_name
Obligatoire
|
Nom du script de l’étape. |
Retours
Type | Description |
---|---|
Répertoire source et chemins de hachage. |
Exceptions
Type | Description |
---|---|
publish
Crée un ModuleVersion et l’ajoute au module actuel.
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)
Paramètres
Nom | Description |
---|---|
description
Obligatoire
|
Description du module. |
execution_type
Obligatoire
|
Type d’exécution du module.
Les valeurs possibles sont |
inputs
Obligatoire
|
Entrées du module. |
outputs
Obligatoire
|
Sorties du module. |
param_defs
|
Définitions des paramètres du module. Valeur par défaut: None
|
create_sequencing_ports
|
Indique si des ports de séquencement doivent être créés pour le module. Valeur par défaut: True
|
version
|
Version du module. Valeur par défaut: None
|
is_default
|
Indique si la version publiée doit être la version par défaut. Valeur par défaut: False
|
content_path
|
directory Valeur par défaut: None
|
hash_paths
|
Liste de chemins à hacher au moment de la recherche des changements apportés au contenu de l’étape. Si aucun changement n’est détecté, le pipeline réutilise le contenu de l’étape à partir d’une exécution précédente. Par défaut, le contenu de Valeur par défaut: None
|
category
|
Catégorie de la version du module Valeur par défaut: None
|
arguments
|
Arguments à utiliser au moment de l’appel du module. Les arguments peuvent être des chaînes, des références d’entrée (InputPortDef), des références de sortie (OutputPortDef) et des paramètres de pipeline (PipelineParameter). Valeur par défaut: None
|
runconfig
|
RunConfiguration facultative. Une RunConfiguration permet de spécifier des conditions supplémentaires pour l’exécution, par exemple des dépendances Conda et une image Docker. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Exceptions
Type | Description |
---|---|
publish_adla_script
Crée un ModuleVersion en fonction de ADLA (Azure Data Lake Analytics) et l’ajoute au module actuel.
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)
Paramètres
Nom | Description |
---|---|
script_name
Obligatoire
|
Nom d’un script ADLA, par rapport à |
description
Obligatoire
|
Description de la version du module. |
inputs
Obligatoire
|
Liaisons d’entrée du module. |
outputs
Obligatoire
|
Liaisons de sortie du module. |
params
|
Paramètres de ModuleVersion, sous la forme de paires name-default_value. Valeur par défaut: None
|
create_sequencing_ports
|
Indique si des ports de séquencement doivent être créés pour le module. Valeur par défaut: True
|
degree_of_parallelism
|
Degré de parallélisme à utiliser pour ce travail. Valeur par défaut: None
|
priority
|
Valeur de priorité à utiliser pour le travail en cours. Valeur par défaut: None
|
runtime_version
|
Version du runtime du moteur ADLA (Azure Data Lake Analytics). Valeur par défaut: None
|
compute_target
|
Calcul ADLA à utiliser pour ce travail. Valeur par défaut: None
|
version
|
Version du module. Valeur par défaut: None
|
is_default
|
Indique si la version publiée doit être la version par défaut. Valeur par défaut: False
|
source_directory
|
directory Valeur par défaut: None
|
hash_paths
|
hash_paths Valeur par défaut: None
|
category
|
Catégorie de la version du module Valeur par défaut: None
|
arguments
|
Arguments à utiliser au moment de l’appel du module. Les arguments peuvent être des chaînes, des références d’entrée (InputPortDef), des références de sortie (OutputPortDef) et des paramètres de pipeline (PipelineParameter). Valeur par défaut: None
|
Retours
Type | Description |
---|---|
publish_azure_batch
Crée un ModuleVersion qui utilise Azure Batch et l’ajoute au module actuel.
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)
Paramètres
Nom | Description |
---|---|
description
Obligatoire
|
Description de la version du module. |
compute_target
Obligatoire
|
BatchCompute ou
str
Cible de calcul de BatchCompute. |
inputs
Obligatoire
|
Liaisons d’entrée du module. |
outputs
Obligatoire
|
Liaisons de sortie du module. |
params
|
Paramètres de ModuleVersion, sous la forme de paires name-default_value. Valeur par défaut: None
|
create_sequencing_ports
|
Indique si des ports de séquencement doivent être créés pour le module. Valeur par défaut: True
|
version
|
Version du module. Valeur par défaut: None
|
is_default
|
Indique si la version publiée doit être la version par défaut. Valeur par défaut: False
|
create_pool
|
Indique s’il est nécessaire de créer le pool avant d’exécuter les travaux. Valeur par défaut: False
|
pool_id
|
(Obligatoire) ID du pool dans lequel le travail va s’exécuter. Valeur par défaut: None
|
delete_batch_job_after_finish
|
Indique s’il est nécessaire de supprimer le travail du compte Batch, une fois qu’il a été achevé. Valeur par défaut: False
|
delete_batch_pool_after_finish
|
Indique s’il est nécessaire de supprimer le pool, une fois le travail achevé. Valeur par défaut: False
|
is_positive_exit_code_failure
|
Indique si le travail doit échouer quand la tâche existe avec un code positif. Valeur par défaut: True
|
vm_image_urn
|
Si Valeur par défaut: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
|
run_task_as_admin
|
Indique si la tâche doit s’exécuter avec des privilèges Administrateur. Valeur par défaut: False
|
target_compute_nodes
|
Si Valeur par défaut: 1
|
vm_size
|
Si Valeur par défaut: standard_d1_v2
|
executable
|
Nom de la commande/de l’exécutable à exécuter dans le cadre du travail. Valeur par défaut: None
|
source_directory
|
Répertoire source. Valeur par défaut: None
|
category
|
Catégorie de la version du module Valeur par défaut: None
|
arguments
|
Arguments à utiliser au moment de l’appel du module. Les arguments peuvent être des chaînes, des références d’entrée (InputPortDef), des références de sortie (OutputPortDef) et des paramètres de pipeline (PipelineParameter). Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Exceptions
Type | Description |
---|---|
publish_python_script
Crée un ModuleVersion basé sur un script Python et l’ajoute au module actuel.
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)
Paramètres
Nom | Description |
---|---|
script_name
Obligatoire
|
Nom d’un script Python, par rapport à |
description
Obligatoire
|
Description de la version du module. |
inputs
Obligatoire
|
Liaisons d’entrée du module. |
outputs
Obligatoire
|
Liaisons de sortie du module. |
params
|
Paramètres de ModuleVersion, sous la forme de paires name-default_value. Valeur par défaut: None
|
create_sequencing_ports
|
Indique si des ports de séquencement doivent être créés pour le module. Valeur par défaut: True
|
version
|
Version du module. Valeur par défaut: None
|
is_default
|
Indique si la version publiée doit être la version par défaut. Valeur par défaut: False
|
source_directory
|
directory Valeur par défaut: None
|
hash_paths
|
Liste de chemins à hacher au moment de la recherche des changements apportés au contenu de l’étape. Si aucun changement n’est détecté, le pipeline réutilise le contenu de l’étape à partir d’une exécution précédente. Par défaut, le contenu de Valeur par défaut: None
|
category
|
Catégorie de la version du module Valeur par défaut: None
|
arguments
|
Arguments à utiliser au moment de l’appel du module. Les arguments peuvent être des chaînes, des références d’entrée (InputPortDef), des références de sortie (OutputPortDef) et des paramètres de pipeline (PipelineParameter). Valeur par défaut: None
|
runconfig
|
RunConfiguration facultative. Une RunConfiguration permet de spécifier des conditions supplémentaires pour l’exécution, par exemple des dépendances Conda et une image Docker. Valeur par défaut: None
|
Retours
Type | Description |
---|---|
resolve
Résout et retourne le ModuleVersion approprié.
resolve(version=None)
Paramètres
Nom | Description |
---|---|
version
|
Valeur par défaut: None
|
Retours
Type | Description |
---|---|
Version du module à utiliser. |
set_default_version
Définit le ModuleVersion par défaut du module.
set_default_version(version_id)
Paramètres
Nom | Description |
---|---|
version_id
Obligatoire
|
|
Retours
Type | Description |
---|---|
Version par défaut. |
Exceptions
Type | Description |
---|---|
set_description
Définit la description du module.
set_description(description)
Paramètres
Nom | Description |
---|---|
description
Obligatoire
|
Description à définir. |
Exceptions
Type | Description |
---|---|
set_name
Définit le nom du module.
set_name(name)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
Nom à définir. |
Exceptions
Type | Description |
---|---|