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

module
Module
valeur par défaut: None

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

version
str
valeur par défaut: None

Version du module utilisé dans l’étape.

module_version
ModuleVersion
valeur par défaut: None

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

inputs_map
dict[str, Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset, DatasetConsumptionConfig]]
valeur par défaut: None

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

outputs_map
dict[str, Union[OutputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputAbstractDataset]]
valeur par défaut: None

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

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
valeur par défaut: None

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
RunConfiguration
valeur par défaut: None

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
dict[str, PipelineParameter]
valeur par défaut: None

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
list[str]
valeur par défaut: None

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
dict[str, str]
valeur par défaut: None

Dictionnaire des paires nom-valeur.

name
str
valeur par défaut: None

Nom de l'étape.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
valeur par défaut: None

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

module
Module
Obligatoire

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

version
str
Obligatoire

Version du module utilisé dans l’étape.

module_version
ModuleVersion
Obligatoire

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

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

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

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

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

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
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
RunConfiguration
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
dict[str, PipelineParameter]
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
list[str]
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
dict[str, str]
Obligatoire

Dictionnaire des paires nom-valeur.

name
str
Obligatoire

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

graph
Graph
Obligatoire

Objet graphe auquel ajouter le nœud.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Obligatoire

Magasin de données par défaut.

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

Contexte du graphique.

Retours

Objet de nœud.

Type de retour