Partager via


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 être un script, des fichiers binaires ou tout autre fichier requis pour s’exécuter sur la cible de calcul. L’interface de module décrit les entrées, les sorties et les définitions de paramètres. Elle ne les lie pas à des valeurs ou données spécifiques. Un module a un instantané associé à celui-ci, qui capture la collection de fichiers définis pour le module.

Initialiser le module.

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 appartient ce module.

module_id
Obligatoire
str

ID du module.

name
Obligatoire
str

Nom du module.

description
Obligatoire
str

Description du module.

status
Obligatoire
str

Nouveau statut du module : « Actif », « Déconseillé » ou « Désactivé ».

default_version
Obligatoire
str

Version par défaut du module.

module_version_list
Obligatoire

Liste d’objets ModuleVersionDescriptor .

_module_provider
<xref:azureml.pipeline.core._aeva_provider._AzureMLModuleProvider>

(Utilisation interne uniquement.) Fournisseur de modules.

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 appartient ce module.

module_id
Obligatoire
str

ID du module.

name
Obligatoire
str

Nom du module.

description
Obligatoire
str

Description du module.

status
Obligatoire
str

Nouveau statut du module : « Actif », « Déconseillé » ou « Désactivé ».

default_version
Obligatoire
str

Version par défaut du module.

module_version_list
Obligatoire

Liste d’objets ModuleVersionDescriptor .

_module_provider
Obligatoire
<xref:<xref:_AevaMlModuleProvider object>>

Fournisseur de modules.

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

Fournisseur ModuleVersion.

Remarques

Un module agit comme un conteneur de ses versions. Dans l’exemple suivant, un ModuleVersion est créé à partir de la publish_python_script méthode et a deux entrées et deux sorties. La création de ModuleVersion est 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")

L’exemple complet est disponible à partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Ce module peut être utilisé lors de la définition d’un pipeline, en différentes étapes, à l’aide d’un ModuleStep.

L’exemple suivant montre comment connecter les données utilisées dans le pipeline aux entrées et sorties d’une ModuleVersion à l’aide PipelineDatade :


   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}

L’exemple complet est disponible à partir de https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-modulestep.ipynb

Le mappage peut ensuite être utilisé lors 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])

L’exemple complet est disponible à partir de 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 se produit lors de la soumission et suit le processus suivant :

  • Supprimer toutes les versions désactivées
  • Si une version spécifique a été indiquée, utilisez-la, sinon
  • Si une version par défaut a été définie sur le module, utilisez-la, sinon
  • Si toutes les versions suivent le contrôle de version sémantique sans lettres, prenez la valeur la plus élevée, sinon
  • Prenez la version du module qui a été mise à jour en dernier

Notez que, étant donné que le mappage des entrées et sorties d’un nœud à l’entrée et à la sortie d’un module est défini lors de la création du pipeline, si la version résolue lors de la soumission a une interface différente de celle résolue lors de la création du pipeline, la soumission du pipeline échoue.

Le module sous-jacent peut être mis à jour avec de nouvelles versions tout en conservant la version par défaut la même.

Les modules sont nommés de manière unique dans un espace de travail.

Méthodes

create

Créez le module.

deprecate

Définissez le module sur « Déconseillé ».

disable

Définissez le module sur « Désactivé ».

enable

Définissez le module sur « Actif ».

get

Obtenir le module par nom ou par ID ; lève une exception si l’un ou l’autre n’est pas fourni.

get_default

Obtenez la version du module par défaut.

get_default_version

Obtenez la version par défaut du module.

get_versions

Obtenez toutes les versions du module.

module_def_builder

Créez l’objet de définition de module qui décrit l’étape.

module_version_list

Obtenez la liste des versions du module.

process_source_directory

Traitez le répertoire source de l’étape et vérifiez que le script existe.

publish

Créez un ModuleVersion et ajoutez-le au module actuel.

publish_adla_script

Créez une version ModuleVersion basée sur Azure Data Lake Analytics (ADLA) et ajoutez-la au module actuel.

publish_azure_batch

Créez une version ModuleVersion qui utilise Azure batch et ajoutez-la au module actuel.

publish_python_script

Créez un ModuleVersion basé sur un script Python et ajoutez-le au module actuel.

resolve

Résolvez et renvoyez le moduleVersion approprié.

set_default_version

Définissez la version module par défaut du module.

set_description

Définissez la description du module.

set_name

Définissez le nom du module.

create

Créez 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
str

Nom du module.

description
Obligatoire
str

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

Définissez le module sur « Déconseillé ».

deprecate()

disable

Définissez le module sur « Désactivé ».

disable()

enable

Définissez le module sur « Actif ».

enable()

get

Obtenir le module par nom ou par ID ; lève une exception si l’un ou l’autre n’est pas fourni.

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
str

ID du module.

Valeur par défaut: None
name
str

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

Obtenez la version du module par défaut.

get_default()

Retours

Type Description

Version du module par défaut.

get_default_version

Obtenez la version par défaut du module.

get_default_version()

Retours

Type Description
str

Version par défaut du module.

get_versions

Obtenez toutes les versions du module.

static get_versions(workspace, name, _workflow_provider=None)

Paramètres

Nom Description
workspace
Obligatoire

L’espace de travail sur lequel le module a été créé.

name
Obligatoire
str

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 des ModuleVersionDescriptor

module_def_builder

Créez 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
str

Nom du module.

description
Obligatoire
str

Description du module.

execution_type
Obligatoire
str

Type d’exécution du module.

input_bindings
Obligatoire

Liaisons d’entrée de module.

output_bindings
Obligatoire

Liaisons de sortie du module.

param_defs

Définitions de l’analyseur de module.

Valeur par défaut: None
create_sequencing_ports

Indique si les ports de séquencement seront créés pour le module.

Valeur par défaut: True
allow_reuse

Indique s’il sera disponible pour être réutilisé.

Valeur par défaut: True
version
str

Version du module.

Valeur par défaut: None
module_type
str

Type de module.

Valeur par défaut: None
step_type
str

Type d’étape associé à ce module, par exemple « PythonScriptStep », « HyperDriveStep », etc.

Valeur par défaut: None
arguments

Liste d’arguments annotés à utiliser lors de l’appel de ce module

Valeur par défaut: None
runconfig
str

Runconfig qui sera utilisé pour python_script_step

Valeur par défaut: None
cloud_settings
str

Paramètres qui seront utilisés pour les clouds

Valeur par défaut: None

Retours

Type Description

Objet def module.

Exceptions

Type Description

module_version_list

Obtenez la liste des versions du module.

module_version_list()

Retours

Type Description

Liste des ModuleVersionDescriptor

process_source_directory

Traitez le répertoire source de l’étape et vérifiez que le script existe.

static process_source_directory(name, source_directory, script_name)

Paramètres

Nom Description
name
Obligatoire
str

Nom de l’étape.

source_directory
Obligatoire
str

Répertoire source de l’étape.

script_name
Obligatoire
str

Nom du script de l’étape.

Retours

Type Description

Répertoire source et chemins de hachage.

Exceptions

Type Description

publish

Créez un ModuleVersion et ajoutez-le 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
str

Description du module.

execution_type
Obligatoire
str

Type d’exécution du module. Les valeurs acceptables sont esCloud, adlcloud et AzureBatchCloud

inputs
Obligatoire

Entrées du module.

outputs
Obligatoire

Sorties du module.

param_defs

Définitions des paramètres de module.

Valeur par défaut: None
create_sequencing_ports

Indique si les ports de séquencement seront créés pour le module.

Valeur par défaut: True
version
str

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
str

répertoire

Valeur par défaut: None
hash_paths

Liste des chemins d’accès au hachage lors de la vérification des modifications apportées au contenu de l’étape. S’il n’y a aucune modification détectée, le pipeline réutilise le contenu de l’étape à partir d’une exécution précédente. Par défaut, le contenu du source_directory fichier est haché (à l’exception des fichiers répertoriés dans .amlignore ou .gitignore). DÉCONSEILLÉ : n’est plus nécessaire.

Valeur par défaut: None
category
str

Catégorie de la version du module

Valeur par défaut: None
arguments

Arguments à utiliser lors 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 facultatif. Une RunConfiguration peut être utilisée pour spécifier des exigences supplémentaires pour l’exécution, telles que les dépendances conda et une image Docker.

Valeur par défaut: None

Retours

Type Description

Exceptions

Type Description

publish_adla_script

Créez une version ModuleVersion basée sur Azure Data Lake Analytics (ADLA) et ajoutez-la 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
str

Nom d’un script ADLA, relatif à source_directory.

description
Obligatoire
str

Description de la version du module.

inputs
Obligatoire

Liaisons d’entrée de module.

outputs
Obligatoire

Liaisons de sortie du module.

params

Les paramètres ModuleVersion, en tant que paires nom-default_value.

Valeur par défaut: None
create_sequencing_ports

Indique si les ports de séquencement seront créés pour le module.

Valeur par défaut: True
degree_of_parallelism
int

Degré de parallélisme à utiliser pour ce travail.

Valeur par défaut: None
priority
int

Valeur de priorité à utiliser pour le travail en cours.

Valeur par défaut: None
runtime_version
str

Version d’exécution du moteur Azure Data Lake Analytics (ADLA).

Valeur par défaut: None
compute_target

Calcul ADLA à utiliser pour ce travail.

Valeur par défaut: None
version
str

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
str

répertoire

Valeur par défaut: None
hash_paths

hash_paths

Valeur par défaut: None
category
str

Catégorie de la version du module

Valeur par défaut: None
arguments

Arguments à utiliser lors 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éez une version ModuleVersion qui utilise Azure batch et ajoutez-la 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
str

Description de la version du module.

compute_target
Obligatoire

Cible de calcul BatchCompute.

inputs
Obligatoire

Liaisons d’entrée de module.

outputs
Obligatoire

Liaisons de sortie du module.

params

Les paramètres ModuleVersion, en tant que paires nom-default_value.

Valeur par défaut: None
create_sequencing_ports

Indique si les ports de séquencement seront créés pour le module.

Valeur par défaut: True
version
str

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 faut créer le pool avant d’exécuter les travaux.

Valeur par défaut: False
pool_id
str

(Obligatoire) ID du pool dans lequel le travail s’exécutera.

Valeur par défaut: None
delete_batch_job_after_finish

Indique s’il faut supprimer le travail du compte Batch une fois terminé.

Valeur par défaut: False
delete_batch_pool_after_finish

Indique s’il faut supprimer le pool une fois le travail terminé.

Valeur par défaut: False
is_positive_exit_code_failure

Indique s’il échoue si la tâche existe avec un code positif.

Valeur par défaut: True
vm_image_urn
str

Si create_pool la valeur est True et que la machine virtuelle utilise VirtualMachineConfiguration, ce paramètre indique l’image de machine virtuelle à utiliser. Format de valeur : urn:publisher:offer:sku. Exemple : urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

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 d’administrateur.

Valeur par défaut: False
target_compute_nodes
int

Si create_pool la valeur est True, indique le nombre de nœuds de calcul qui seront ajoutés au pool.

Valeur par défaut: 1
vm_size
str

Si create_pool la valeur est True, indique la taille de la machine virtuelle des nœuds de calcul.

Valeur par défaut: standard_d1_v2
executable
str

Nom de la commande/exécutable qui sera exécutée dans le cadre du travail.

Valeur par défaut: None
source_directory
str

Répertoire source.

Valeur par défaut: None
category
str

Catégorie de la version du module

Valeur par défaut: None
arguments

Arguments à utiliser lors 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éez un ModuleVersion basé sur un script Python et ajoutez-le 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
str

Nom d’un script Python, relatif à source_directory.

description
Obligatoire
str

Description de la version du module.

inputs
Obligatoire

Liaisons d’entrée de module.

outputs
Obligatoire

Liaisons de sortie du module.

params

Les paramètres ModuleVersion, en tant que paires nom-default_value.

Valeur par défaut: None
create_sequencing_ports

Indique si les ports de séquencement seront créés pour le module.

Valeur par défaut: True
version
str

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
str

répertoire

Valeur par défaut: None
hash_paths

Liste des chemins d’accès au hachage lors de la vérification des modifications apportées au contenu de l’étape. S’il n’y a aucune modification détectée, le pipeline réutilise le contenu de l’étape à partir d’une exécution précédente. Par défaut, le contenu du source_directory fichier est haché (à l’exception des fichiers répertoriés dans .amlignore ou .gitignore). DÉCONSEILLÉ : n’est plus nécessaire.

Valeur par défaut: None
category
str

Catégorie de la version du module

Valeur par défaut: None
arguments

Arguments à utiliser lors 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 facultatif. Une RunConfiguration peut être utilisée pour spécifier des exigences supplémentaires pour l’exécution, telles que les dépendances conda et une image Docker.

Valeur par défaut: None

Retours

Type Description

resolve

Résolvez et renvoyez 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éfinissez la version module par défaut du module.

set_default_version(version_id)

Paramètres

Nom Description
version_id
Obligatoire

Retours

Type Description
str

Version par défaut.

Exceptions

Type Description

set_description

Définissez la description du module.

set_description(description)

Paramètres

Nom Description
description
Obligatoire
str

Description à définir.

Exceptions

Type Description

set_name

Définissez le nom du module.

set_name(name)

Paramètres

Nom Description
name
Obligatoire
str

Nom à définir.

Exceptions

Type Description

Attributs

default_version

Obtenez la version par défaut du module.

Retours

Type Description
str

Chaîne de version par défaut.

description

Obtenez la description du module.

Retours

Type Description
str

Chaîne de description.

id

Obtenez l’ID du module.

Retours

Type Description
str

ID.

name

Obtenez le nom du module.

Retours

Type Description
str

Nom.

status

Obtenez l’état du module.

Retours

Type Description
str

État.