HyperDriveConfig Classe

Configuration qui définit une exécution HyperDrive.

La configuration HyperDrive comprend des informations sur l’échantillonnage des espaces d’hyperparamètres, la stratégie d’arrêt, la métrique principale, la reprise après la configuration, l’estimateur et la cible de calcul sur laquelle exécuter l’expérience.

Initialisez HyperDriveConfig.

Héritage
builtins.object
HyperDriveConfig

Constructeur

HyperDriveConfig(hyperparameter_sampling, primary_metric_name, primary_metric_goal, max_total_runs, max_concurrent_runs=None, max_duration_minutes=10080, policy=None, estimator=None, run_config=None, resume_from=None, resume_child_runs=None, pipeline=None, debug_flag=None, custom_run_id=None)

Paramètres

Nom Description
estimator

Estimateur à appeler avec les hyperparamètres échantillonnés. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

valeur par défaut: None
hyperparameter_sampling
Obligatoire

Espace d’échantillonnage des hyperparamètres.

policy

Stratégie d’arrêt anticipé à utiliser. Si la valeur est None (valeur par défaut), aucune stratégie d’arrêt anticipé n’est utilisée.

MedianStoppingPolicy avec delay_evaluation égal à 5 est une bonne stratégie d’arrêt pour commencer. Ce sont des paramètres prudents, qui peuvent fournir 25 à 35 % d’économies sans perte sur la métrique principale (d’après nos données d’évaluation).

valeur par défaut: None
primary_metric_name
Obligatoire
str

Nom de la métrique principale signalée par les exécutions d’expérience.

primary_metric_goal
Obligatoire

PrimaryMetricGoal.MINIMIZE ou PrimaryMetricGoal.MAXIMIZE. Ce paramètre détermine si la métrique principale doit être réduite ou agrandie pendant l’évaluation des exécutions.

max_total_runs
Obligatoire
int

Nombre total maximal d’exécutions à créer. Il s’agit de la limite supérieure. Il peut y avoir moins d’exécutions quand l’espace d’échantillonnage est plus petit que cette valeur. Si max_total_runs et max_duration_minutes sont tous deux spécifiés, l’expérience d’optimisation des hyperparamètres s’arrête dès que le premier de ces deux seuils est atteint.

max_concurrent_runs
int

Nombre maximal d’exécutions à exécuter simultanément. Si la valeur est None, toutes les exécutions sont lancées en parallèle. Le nombre d’exécutions simultanées est limité par les ressources disponibles dans la cible de calcul spécifiée. Vous devez donc vérifier que la cible de calcul dispose des ressources nécessaires à l’accès concurrentiel souhaité.

valeur par défaut: None
max_duration_minutes
int

Durée maximale de l’exécution HyperDrive. Une fois cette durée écoulée, les exécutions toujours en cours sont annulées. Si max_total_runs et max_duration_minutes sont tous deux spécifiés, l’expérience d’optimisation des hyperparamètres s’arrête dès que le premier de ces deux seuils est atteint.

valeur par défaut: 10080
resume_from

Exécution HyperDrive ou liste d’exécutions HyperDrive héritée sous forme de points de données pour démarrer à chaud la nouvelle exécution.

valeur par défaut: None
resume_child_runs
Run ou list[Run]

Exécution HyperDrive enfant ou liste d’exécutions HyperDrive enfants à reprendre pour chaque exécution enfant de la nouvelle exécution HyperDrive.

valeur par défaut: None
run_config

Objet pour définir la configuration des exécutions de script/notebook. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

valeur par défaut: None
pipeline

Objet de pipeline pour définir la configuration des exécutions de pipeline. L’objet de pipeline est appelé avec les hyperparamètres de l’échantillon pour envoyer des exécutions de pipeline. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

valeur par défaut: None
custom_run_id
str

ID d’exécution personnalisé fourni par l’utilisateur

valeur par défaut: None
hyperparameter_sampling
Obligatoire

Définition de l’échantillonnage de l’espace hyperparamètre.

primary_metric_name
Obligatoire
str

Nom de la métrique principale signalée par les exécutions d’expérience.

primary_metric_goal
Obligatoire

PrimaryMetricGoal.MINIMIZE ou PrimaryMetricGoal.MAXIMIZE. Ce paramètre détermine si la métrique principale doit être réduite ou agrandie pendant l’évaluation des exécutions.

max_total_runs
Obligatoire
int

Nombre total maximal d’exécutions à créer. Il s’agit de la limite supérieure. Il peut y avoir moins d’exécutions quand l’espace d’échantillonnage est plus petit que cette valeur.

max_concurrent_runs
Obligatoire
int

Nombre maximal d’exécutions à exécuter simultanément. Si la valeur est None, toutes les exécutions sont lancées en parallèle.

max_duration_minutes
Obligatoire
int

Durée maximale de l’exécution HyperDrive. Une fois cette durée écoulée, les exécutions toujours en cours sont annulées.

policy
Obligatoire

Stratégie d’arrêt anticipé à utiliser. Si la valeur est None (valeur par défaut), aucune stratégie d’arrêt anticipé n’est utilisée.

<xref:azureml.train.hyperdrive.MedianTerminationPolicy> avec delay_evaluation égal à 5 est une bonne stratégie d’arrêt pour commencer. Ce sont des paramètres prudents, qui peuvent fournir 25 à 35 % d’économies sans perte sur la métrique principale (d’après nos données d’évaluation).

estimator
Obligatoire

Estimateur à appeler avec les hyperparamètres échantillonnés. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

run_config
Obligatoire

Objet pour définir la configuration des exécutions de script/notebook. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

resume_from
Obligatoire

Exécution HyperDrive ou liste d’exécutions HyperDrive héritée sous forme de points de données pour démarrer à chaud la nouvelle exécution.

resume_child_runs
Obligatoire
Run | list[Run]

Exécution HyperDrive enfant ou liste d’exécutions HyperDrive enfants à reprendre pour chaque exécution enfant de la nouvelle exécution HyperDrive.

pipeline
Obligatoire

Objet de pipeline pour définir la configuration des exécutions de pipeline. L’objet de pipeline est appelé avec les hyperparamètres de l’échantillon pour envoyer des exécutions de pipeline. Spécifiez un seul des paramètres suivants : estimator, run_config ou pipeline.

custom_run_id
Obligatoire
str

ID d’exécution personnalisé fourni par l’utilisateur

debug_flag
valeur par défaut: None

Remarques

L’exemple ci-dessous montre comment créer un objet HyperDriveConfig pour le réglage des hyperparamètres. Dans l’exemple, le nom de la métrique principale correspond à une valeur journalisée dans le script d’entraînement.


   hd_config = HyperDriveConfig(run_config=src,
                    hyperparameter_sampling=ps,
                    policy=early_termination_policy,
                    primary_metric_name='validation_acc',
                    primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                    max_total_runs=4,
                    max_concurrent_runs=4)

Pour plus d’informations sur l’utilisation d’HyperDriveConfig, consultez le tutoriel Régler les hyperparamètres de votre modèle.

Attributs

estimator

Retourne l’estimateur utilisé pendant l’exécution HyperDrive.

La valeur est None si l’exécution utilise une configuration d’exécution de script ou un pipeline.

Retours

Type Description

Estimateur.

pipeline

Retourne le pipeline utilisé dans l’exécution HyperDrive.

La valeur est None si l’exécution utilise une configuration d’exécution de script ou un estimateur.

Retours

Type Description

Pipeline.

run_config

Retourne la configuration de script/notebook utilisée dans l’exécution HyperDrive.

La valeur est None si l’exécution utilise un estimateur ou un pipeline.

Retours

Type Description

Configuration d’exécution.

source_directory

Retourne le répertoire source de la configuration à exécuter.

Retours

Type Description
str

Répertoire source