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
- _module_provider
- <xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>
(Utilisation interne uniquement.) Fournisseur de module.
- _module_version_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaMlModuleVersionProvider>
(Utilisation interne uniquement.) Fournisseur ModuleVersion.
- _module_provider
- <xref:<xref:_AevaMlModuleProvider object>>
Fournisseur de module.
- _module_version_provider
- <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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail.
Retours
Objet Module
Type de retour
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
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail.
Retours
Objet Module
Type de retour
get_default
Obtient la version par défaut du module.
get_default()
Retours
Version par défaut du module.
Type de retour
get_default_version
Obtient la version par défaut du module.
get_default_version()
Retours
Version par défaut du module.
Type de retour
get_versions
Obtient toutes les versions du module.
static get_versions(workspace, name, _workflow_provider=None)
Paramètres
- _workflow_provider
- <xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Utilisation interne uniquement.) Fournisseur de flux de travail.
Retours
Liste de ModuleVersionDescriptor
Type de retour
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
- create_sequencing_ports
- bool
Indique si des ports de séquencement doivent être créés pour le module.
- step_type
- str
Type d’étape associé à ce module, par exemple « PythonScriptStep », « HyperDriveStep », etc.
- arguments
- list
Liste d’arguments annotés à utiliser au moment de l’appel de ce module
Retours
Objet de définition de module.
Type de retour
Exceptions
module_version_list
Obtient la liste des versions du module.
module_version_list()
Retours
Liste de ModuleVersionDescriptor
Type de retour
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
Retours
Répertoire source et chemins de hachage.
Type de retour
Exceptions
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
- execution_type
- str
Type d’exécution du module.
Les valeurs possibles sont esCloud
, adlcloud
et AzureBatchCloud
- create_sequencing_ports
- bool
Indique si des ports de séquencement doivent être créés pour le module.
- is_default
- bool
Indique si la version publiée doit être la version par défaut.
- hash_paths
- list
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 source_directory
est haché (à l’exception des fichiers listés dans .amlignore ou .gitignore).
DÉPRÉCIÉ : n’est plus nécessaire.
- arguments
- list
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).
- runconfig
- RunConfiguration
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.
Type de retour
Exceptions
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
- params
- dict
Paramètres de ModuleVersion, sous la forme de paires name-default_value.
- create_sequencing_ports
- bool
Indique si des ports de séquencement doivent être créés pour le module.
- runtime_version
- str
Version du runtime du moteur ADLA (Azure Data Lake Analytics).
- is_default
- bool
Indique si la version publiée doit être la version par défaut.
- arguments
- list
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).
Type de retour
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
- params
- dict
Paramètres de ModuleVersion, sous la forme de paires name-default_value.
- create_sequencing_ports
- bool
Indique si des ports de séquencement doivent être créés pour le module.
- is_default
- bool
Indique si la version publiée doit être la version par défaut.
- create_pool
- bool
Indique s’il est nécessaire de créer le pool avant d’exécuter les travaux.
- delete_batch_job_after_finish
- bool
Indique s’il est nécessaire de supprimer le travail du compte Batch, une fois qu’il a été achevé.
- delete_batch_pool_after_finish
- bool
Indique s’il est nécessaire de supprimer le pool, une fois le travail achevé.
- is_positive_exit_code_failure
- bool
Indique si le travail doit échouer quand la tâche existe avec un code positif.
- vm_image_urn
- str
Si create_pool
a la valeur True et si la machine virtuelle utilise VirtualMachineConfiguration, ce paramètre indique l’image de machine virtuelle à utiliser. Format de la valeur : urn:publisher:offer:sku
.
Exemple : urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
.
- run_task_as_admin
- bool
Indique si la tâche doit s’exécuter avec des privilèges Administrateur.
- target_compute_nodes
- int
Si create_pool
a la valeur True, indique le nombre de nœuds de calcul à ajouter au pool.
- vm_size
- str
Si create_pool
a la valeur True, indique la taille de machine virtuelle des nœuds de calcul.
- executable
- str
Nom de la commande/de l’exécutable à exécuter dans le cadre du travail.
- arguments
- list
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).
Type de retour
Exceptions
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
- params
- dict
Paramètres de ModuleVersion, sous la forme de paires name-default_value.
- create_sequencing_ports
- bool
Indique si des ports de séquencement doivent être créés pour le module.
- is_default
- bool
Indique si la version publiée doit être la version par défaut.
- hash_paths
- list
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 source_directory
est haché (à l’exception des fichiers listés dans .amlignore ou .gitignore).
DÉPRÉCIÉ : n’est plus nécessaire.
- arguments
- list
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).
- runconfig
- RunConfiguration
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.
Type de retour
resolve
Résout et retourne le ModuleVersion approprié.
resolve(version=None)
Paramètres
- version
Retours
Version du module à utiliser.
Type de retour
set_default_version
Définit le ModuleVersion par défaut du module.
set_default_version(version_id)
Paramètres
- version_id
Retours
Version par défaut.
Type de retour
Exceptions
set_description
Définit la description du module.
set_description(description)
Paramètres
Exceptions
set_name
Définit le nom du module.
set_name(name)
Paramètres
Exceptions
Attributs
default_version
description
id
name
status
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour