Partager via


ModuleStep Classe

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

Module les objets 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 spécifique d’un module dans un pipeline, créez un ModuleStep. Un ModuleStep est une étape du pipeline qui utilise un module existant ModuleVersion.

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.

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é à l’étape. Indiquez le paramètre ou le modulemodule_version paramètre, mais pas les deux.

Valeur par défaut: None
version
str

Version du module utilisé à l’étape.

Valeur par défaut: None
module_version

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

Valeur par défaut: None
inputs_map

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

Valeur par défaut: None
outputs_map

Dictionnaire qui mappe les noms des définitions de port de 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 sur l’espace de travail. Si vous le souhaitez, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (nom cible de calcul, « type cible de calcul ») pour éviter d’extraire 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. 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
runconfig_pipeline_params

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur chacune avec le nom de la propriété runconfig et PipelineParameter pour 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 via des arguments dans RunConfiguration. Pour plus d’informations sur la gestion des arguments tels que des symboles spéciaux, consultez les arguments dans RunConfiguration

Valeur par défaut: None
params

Dictionnaire de 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é à l’étape. Indiquez le paramètre ou le modulemodule_version paramètre, mais pas les deux.

version
Obligatoire
str

Version du module utilisé à l’étape.

module_version
Obligatoire

ModuleVersion du module utilisé à l’étape. Indiquez le paramètre ou le modulemodule_version paramètre, 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 de 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 de 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 sur l’espace de travail. Si vous le souhaitez, si la cible de calcul n’est pas disponible au moment de la création du pipeline, vous pouvez spécifier un tuple de (nom cible de calcul, « type cible de calcul ») pour éviter d’extraire l’objet cible de calcul (le type AmlCompute est « AmlCompute » et le type RemoteCompute est « VirtualMachine »).

runconfig
Obligatoire

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

runconfig_pipeline_params
Obligatoire

Remplacement des propriétés runconfig au moment de l’exécution à l’aide de paires clé-valeur chacune avec le nom de la propriété runconfig et PipelineParameter pour 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 via des arguments dans RunConfiguration. Pour plus d’informations sur la gestion des arguments tels que des symboles spéciaux, consultez les arguments dans RunConfiguration

params
Obligatoire

Dictionnaire de paires nom-valeur.

name
Obligatoire
str

Nom de l’étape.

_wokflow_provider
Obligatoire

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

Remarques

A 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 d’Azure Machine Learning utilisée pour consommer un module. Vous pouvez définir spécifiquement moduleVersion à utiliser ou laisser Azure Machine Learning résoudre le ModuleVersion à utiliser en suivant le processus de résolution défini dans la section remarques de la Module classe. Pour définir le ModuleVersion utilisé dans un pipeline soumis, 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 soumissions.

Vous devez définir le mappage entre les 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 avec 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])

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

Méthodes

create_node

Créez un nœud à partir de l’étape ModuleStep et ajoutez-le au graphique 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 par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

create_node

Créez un nœud à partir de l’étape ModuleStep et ajoutez-le au graphique 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 par cette méthode afin que cette étape puisse être ajoutée à un graphique de pipeline qui représente le flux de travail.

create_node(graph, default_datastore, context)

Paramètres

Nom Description
graph
Obligatoire

Objet graphique auquel ajouter le nœud.

default_datastore
Obligatoire

Magasin de données par défaut.

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

Contexte de graphe.

Retours

Type Description

Objet node.