HyperDriveStep Classe
Crée une étape de pipeline Azure ML pour exécuter le tunning hyperparamètre pour l’apprentissage du modèle Machine Learning.
Pour obtenir un exemple d’utilisation d’HyperDriveStep, consultez le notebook https://aka.ms/pl-hyperdrive.
Créez une étape de pipeline Azure ML pour exécuter le tunning hyperparamètre pour l’apprentissage du modèle Machine Learning.
Constructeur
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
Paramètres
Nom | Description |
---|---|
name
Obligatoire
|
[Obligatoire] Nom de l’étape. |
hyperdrive_config
Obligatoire
|
[Obligatoire] HyperDriveConfig qui définit la configuration de l’exécution d’HyperDrive. |
estimator_entry_script_arguments
|
Liste des arguments de ligne de commande pour le script d’entrée d’estimateur. Si le script d’entrée de l’estimateur n’accepte pas les arguments de ligne de commande, définissez cette valeur de paramètre sur une liste vide. Valeur par défaut: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Liste des liaisons de port d’entrée. Valeur par défaut: None
|
outputs
|
Liste des liaisons de port de sortie Valeur par défaut: None
|
metrics_output
|
Valeur facultative spécifiant l’emplacement pour stocker les métriques d’exécution HyperDrive en tant que fichier JSON. Valeur par défaut: None
|
allow_reuse
|
Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. La réutilisation est activée par défaut. Si le contenu de l’étape (scripts/dépendances) ainsi que les entrées et les paramètres restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de soumettre le travail au calcul, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par la modification de la définition du jeu de données, et non par la modification des données sous-jacentes. Valeur par défaut: True
|
version
|
Balise de version facultative pour indiquer une modification des fonctionnalités du module. Valeur par défaut: None
|
name
Obligatoire
|
[Obligatoire] Nom de l’étape. |
hyperdrive_config
Obligatoire
|
[Obligatoire] HyperDriveConfig qui définit la configuration de l’exécution d’HyperDrive. |
estimator_entry_script_arguments
Obligatoire
|
Liste des arguments de ligne de commande pour le script d’entrée d’estimateur. Si le script d’entrée de l’estimateur n’accepte pas les arguments de ligne de commande, définissez cette valeur de paramètre sur une liste vide. |
inputs
Obligatoire
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Liste des liaisons de port d’entrée. |
outputs
Obligatoire
|
Liste des liaisons de port de sortie. |
metrics_output
Obligatoire
|
Valeur facultative spécifiant l’emplacement pour stocker les métriques d’exécution HyperDrive en tant que fichier JSON. |
allow_reuse
Obligatoire
|
Indique si l’étape doit réutiliser les résultats précédents lors de la réexécutation avec les mêmes paramètres. La réutilisation est activée par défaut. Si le contenu de l’étape (scripts/dépendances) ainsi que les entrées et les paramètres restent inchangés, la sortie de l’exécution précédente de cette étape est réutilisée. Lors de la réutilisation de l’étape, au lieu de soumettre le travail au calcul, les résultats de l’exécution précédente sont immédiatement mis à la disposition des étapes suivantes. Si vous utilisez des jeux de données Azure Machine Learning comme entrées, la réutilisation est déterminée par la modification de la définition du jeu de données, et non par la modification des données sous-jacentes. |
version
Obligatoire
|
Version |
Remarques
Notez que les arguments du script d’entrée utilisés dans l’objet estimateur (par exemple, l’objet TensorFlow ) doivent être spécifiés comme liste à l’aide du estimator_entry_script_arguments
paramètre lors de l’instanciation d’un HyperDriveStep. Le paramètre script_params
estimateur accepte un dictionnaire. Toutefois, estimator_entry_script_argument
le paramètre attend des arguments sous forme de liste.
L’initialisation HyperDriveStep implique la spécification d’une liste d’objets DataReference avec le inputs
paramètre. Dans Azure ML Pipelines, une étape de pipeline peut prendre la sortie d’une autre étape ou les objets DataReference comme entrée. Par conséquent, lors de la création d’un HyperDriveStep, les paramètres et inputs
les outputs
paramètres doivent être définis explicitement, ce qui remplace le inputs
paramètre spécifié dans l’objet Estimateor.
La meilleure pratique pour utiliser HyperDriveStep consiste à utiliser un dossier distinct pour les scripts et tous les fichiers dépendants associés à l’étape source_directory
et à spécifier ce dossier comme objet estimateur. Par exemple, consultez le source_directory
paramètre de la TensorFlow classe. Cela présente deux avantages. Tout d’abord, il permet de réduire la taille de l’instantané créé pour l’étape, car seul ce qui est nécessaire pour l’étape est instantané. Deuxièmement, la sortie de l’étape à partir d’une exécution précédente peut être réutilisée s’il n’y a aucune modification apportée à celle source_directory
qui déclencherait un nouveau chargement du snaphot.
L’exemple suivant montre comment utiliser HyperDriveStep dans un pipeline Azure Machine Learning.
metrics_output_name = 'metrics_output'
metrics_data = PipelineData(name='metrics_data',
datastore=datastore,
pipeline_output_name=metrics_output_name,
training_output=TrainingOutput("Metrics"))
model_output_name = 'model_output'
saved_model = PipelineData(name='saved_model',
datastore=datastore,
pipeline_output_name=model_output_name,
training_output=TrainingOutput("Model",
model_file="outputs/model/saved_model.pb"))
hd_step_name='hd_step01'
hd_step = HyperDriveStep(
name=hd_step_name,
hyperdrive_config=hd_config,
inputs=[data_folder],
outputs=[metrics_data, saved_model])
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-parameter-tuning-with-hyperdrive.ipynb
Méthodes
create_node |
Créez un nœud à partir de l’étape HyperDrive et ajoutez-y le graphique donné. 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 HyperDrive et ajoutez-y le graphique donné.
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 |
---|---|
Nœud créé. |