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 Valeur par défaut: None
|
version
|
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 Valeur par défaut: None
|
inputs_map
|
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
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
|
dict[str, Union[OutputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset]]
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
|
Nom de l'étape. Valeur par défaut: None
|
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
(Usage interne uniquement.) Fournisseur de flux de travail. Valeur par défaut: None
|
module
Obligatoire
|
Module utilisé dans l’étape.
Fournissez le paramètre |
version
Obligatoire
|
Version du module utilisé dans l’étape. |
module_version
Obligatoire
|
ModuleVersion du module utilisé à l’étape.
Fournissez le paramètre |
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
|
Nom de l'étape. |
_wokflow_provider
Obligatoire
|
(Usage 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. |