Partager via


ModuleStep Classe

Crée une étape de pipeline Azure Machine Learning pour exécuter une version spécifique d’un module.

Les objets Module définissent des calculs réutilisables, tels que des scripts ou des exécutables, qui peuvent être utilisés dans différents scénarios de Machine Learning et par différents utilisateurs. Pour utiliser une version de module spécifique dans un pipeline, créez un ModuleStep. Un ModuleStep est une étape de pipeline qui utilise un ModuleVersion existant.

Pour obtenir un exemple d’utilisation de ModuleStep, consultez le notebook https://aka.ms/pl-modulestep.

Créez une étape de pipeline Azure ML pour exécuter une version spécifique d’un module.

Héritage
ModuleStep

Constructeur

ModuleStep(module=None, version=None, module_version=None, inputs_map=None, outputs_map=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, arguments=None, params=None, name=None, _workflow_provider=None)

Paramètres

Nom Description
module

Module utilisé dans l’étape. Fournissez le paramètre module ou module_version, mais pas les deux.

Valeur par défaut: None
version
str

Version du module utilisé dans l’étape.

Valeur par défaut: None
module_version

ModuleVersion du module utilisé dans l’étape. Fournissez le paramètre module ou module_version, mais pas les deux.

Valeur par défaut: None
inputs_map

Dictionnaire qui mappe les noms des définitions de port du ModuleVersion aux entrées de l’étape.

Valeur par défaut: None
outputs_map

Dictionnaire qui mappe les noms des définitions de port du ModuleVersion aux sorties de l’étape.

Valeur par défaut: None
compute_target

Cible de calcul à utiliser. Si elle n’est pas spécifiée, la cible du runconfig sera utilisée. Peut être un objet cible de calcul ou le nom de chaîne d’une cible de calcul dans l’espace de travail. Éventuellement, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (« Compute Target Name », « Compute Target type ») pour éviter l’extraction de l’objet cible de calcul (le type AmlCompute est « AmlCompute » et le type RemoteCompute est « VirtualMachine »).

Valeur par défaut: None
runconfig

RunConfiguration facultatif à utiliser. Un 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
runconfig_pipeline_params

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur, chacune comportant le nom de la propriété runconfig et le PipelineParameter de cette propriété.

Valeurs prises en charge : « NodeCount », « MpiProcessCountPerNode », « TensorflowWorkerCount », « TensorflowParameterServerCount »

Valeur par défaut: None
arguments

Liste des arguments de ligne de commande pour le fichier de script Python. Les arguments sont remis à la cible de calcul par le biais d’arguments dans RunConfiguration. Pour plus d’informations sur la façon de gérer des arguments tels que les symboles spéciaux, consultez les arguments dans RunConfiguration.

Valeur par défaut: None
params

Dictionnaire des paires nom-valeur.

Valeur par défaut: None
name
str

Nom de l'étape.

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
module
Obligatoire

Module utilisé dans l’étape. Fournissez le paramètre module ou module_version, mais pas les deux.

version
Obligatoire
str

Version du module utilisé dans l’étape.

module_version
Obligatoire

ModuleVersion du module utilisé à l’étape. Fournissez le paramètre module ou module_version, mais pas les deux.

inputs_map
Obligatoire
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>, DatasetConsumptionConfig]]

Dictionnaire qui mappe les noms des définitions de port du ModuleVersion aux entrées de l’étape.

outputs_map
Obligatoire
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset>]]

Dictionnaire qui mappe les noms des définitions de port du ModuleVersion aux sorties de l’étape.

compute_target
Obligatoire

Cible de calcul à utiliser. Si elle n’est pas spécifiée, la cible du runconfig sera utilisée. Peut être un objet cible de calcul ou le nom de chaîne d’une cible de calcul dans l’espace de travail. Éventuellement, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (« Compute Target Name », « Compute Target type ») pour éviter l’extraction de l’objet cible de calcul (le type AmlCompute est « AmlCompute » et le type RemoteCompute est « VirtualMachine »).

runconfig
Obligatoire

RunConfiguration facultatif à utiliser. Un RunConfiguration permet de spécifier des conditions supplémentaires pour l’exécution, par exemple des dépendances conda et une image Docker.

runconfig_pipeline_params
Obligatoire

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur, chacune comportant le nom de la propriété runconfig et le PipelineParameter de cette propriété.

Valeurs prises en charge : « NodeCount », « MpiProcessCountPerNode », « TensorflowWorkerCount », « TensorflowParameterServerCount »

arguments
Obligatoire

Liste des arguments de ligne de commande pour le fichier de script Python. Les arguments sont remis à la cible de calcul par le biais d’arguments dans RunConfiguration. Pour plus d’informations sur la façon de gérer des arguments tels que les symboles spéciaux, consultez les arguments dans RunConfiguration.

params
Obligatoire

Dictionnaire des paires nom-valeur.

name
Obligatoire
str

Nom de l'étape.

_wokflow_provider
Obligatoire

(Utilisation interne uniquement.) Fournisseur de flux de travail.

Remarques

Un Module est utilisé pour créer et gérer une unité de calcul réutilisable d’un pipeline Azure Machine Learning. ModuleStep est l’étape intégrée dans Azure Machine Learning utilisée pour consommer un module. Vous pouvez définir spécifiquement le ModuleVersion à utiliser ou laisser Azure Machine Learning résoudre le ModuleVersion à utiliser en suivant le processus de résolution défini dans la section Notes de la classe Module. Pour définir le ModuleVersion à utiliser dans un pipeline envoyé, définissez l’un des éléments suivants lors de la création d’un ModuleStep :

  • Objet ModuleVersion.

  • Objet Module et valeur de version.

  • Objet Module sans valeur de version. Dans ce cas, la résolution de version peut varier entre les envois.

Vous devez définir le mappage des entrées et sorties de ModuleStep aux entrées et sorties de ModuleVersion.

L’exemple suivant montre comment créer un ModuleStep dans le cadre d’un pipeline comportant plusieurs objets 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

Méthodes

create_node

Créez un nœud à partir de l’étape ModuleStep et ajoutez-le au graphe spécifié.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphique de pipeline qui représente le workflow.

create_node

Créez un nœud à partir de l’étape ModuleStep et ajoutez-le au graphe spécifié.

Cette méthode n’est pas destinée à être utilisée directement. Lorsqu’un pipeline est instancié avec cette étape, Azure ML transmet automatiquement les paramètres requis via cette méthode afin que l’étape puisse être ajoutée à un graphique de pipeline qui représente le workflow.

create_node(graph, default_datastore, context)

Paramètres

Nom Description
graph
Obligatoire

Objet graphe auquel ajouter le nœud.

default_datastore
Obligatoire

Magasin de données par défaut.

context
Obligatoire
<xref:azureml.pipeline.core._GraphContext>

Contexte du graphique.

Retours

Type Description

Objet de nœud.