Partager via


hyperdrive Paquet

Contient des modules et des classes qui prennent en charge le réglage des hyperparamètres.

Les hyperparamètres sont des paramètres réglables que vous choisissez pour la formation du modèle qui guident le processus de formation. Le package HyperDrive vous permet d’automatiser le choix de ces paramètres. Par exemple, vous pouvez définir l’espace de recherche des paramètres comme discret ou continu, et une méthode d’échantillonnage sur l’espace de recherche comme aléatoire, grille ou Bayésien. En outre, vous pouvez spécifier une métrique principale à optimiser dans l’expérience de réglage hyperparamètre et s’il faut réduire ou agrandir cette mesure. Vous pouvez également définir des stratégies d’arrêt anticipé dans lesquelles les exécutions de tests aux performances mauvaises sont annulées et les nouvelles sont lancées. Pour définir un flux de travail d’apprentissage automatique réutilisable pour HyperDrive, utilisez hyper_drive_step pour créer un Pipeline.

Modules

error_definition

Définitions du code d’erreur pour le kit de développement logiciel (SDK) HyperDrive.

error_strings

Collection de chaînes d’erreur utilisées dans le SDK HyperDrive.

exceptions

Exceptions levées par HyperDrive.

parameter_expressions

Définit des fonctions qui peuvent être utilisées dans Hyperdrive pour décrire un espace de recherche hyperparamétrique.

Ces fonctions sont utilisées pour spécifier différents types de distributions d’hyperparamètres. Les distributions sont définies lorsque vous configurez l’échantillonnage pour un balayage hyperparamétrique. Par exemple, lorsque vous utilisez la classe RandomParameterSampling, vous pouvez choisir d’échantillonner à partir d’un ensemble de valeurs discrètes ou d’une distribution de valeurs continues. Dans ce cas, vous pouvez utiliser la fonction choice pour générer un ensemble discret de valeurs et la fonction uniform pour générer une distribution de valeurs continues.

Pour obtenir des exemples d’utilisation de ces fonctions, consultez le didacticiel : https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters .

Classes

BanditPolicy

Définit une stratégie d’arrêt anticipé basée sur des critères de marge, ainsi qu’une fréquence et un intervalle de retard pour l’évaluation.

Initialisez un BanditPolicy avec un facteur slack, un slack_amount et un intervalle d’évaluation.

BayesianParameterSampling

Définit l’échantillonnage bayésien sur un espace de recherche d’hyperparamètres.

L’échantillonnage bayésien tente de choisir intelligemment l’échantillon d’hyperparamètres suivant, en fonction des performances des échantillons précédents, pour que le nouvel échantillon améliore la métrique principale signalée.

Initialiser BayesianParameterSampling.

EarlyTerminationPolicy

Classe de base abstraite pour toutes les stratégies d’arrêt anticipé.

Initialiser une stratégie d’arrêt anticipé.

GridParameterSampling

Définit l’échantillonnage de grille sur un espace de recherche des hyperparamètres.

Initialiser GridParameterSampling.

HyperDriveConfig

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.

HyperDriveRun

HyperDriveRun contient les détails d’une expérience HyperDrive envoyée.

Cette classe peut être utilisée pour gérer, vérifier l’état et récupérer les détails de l’exécution HyperDrive et pour chaque exécution enfant générée.

Initialiser une exécution HyperDrive.

HyperDriveRunConfig

Configuration qui définit une exécution Hyperdrive.

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

Initialisez HyperDriveConfig.

HyperParameterSampling

Classe de base abstraite pour tous les algorithmes d’échantillonnage des hyperparamètres.

Cette classe encapsule l’espace hyperparamétrique, la méthode d’échantillonnage et les propriétés supplémentaires pour les classes d’échantillonnage dérivées : BayesianParameterSampling, GridParameterSampling et RandomParameterSampling.

Initialiser HyperParameterSampling.

MedianStoppingPolicy

Définit une stratégie d’arrêt anticipé basée sur les moyennes mobiles de la métrique principale de toutes les exécutions.

Initialisez une medianStoppingPolicy.

NoTerminationPolicy

Indique qu’aucune stratégie d’arrêt anticipé n’est appliquée.

Chaque exécution s’exécute jusqu’à la fin.

Initialisez NoTerminationPolicy.

RandomParameterSampling

Définit l’échantillonnage aléatoire sur un espace de recherche des hyperparamètres.

Initialiser RandomParameterSampling.

TruncationSelectionPolicy

Définit une stratégie de fin précoce qui annule un pourcentage donné de séries à chaque intervalle d’évaluation.

Initialiser une troncationSelectionPolicy.

Énumérations

PrimaryMetricGoal

Définit des objectifs de métriques pris en charge pour le réglage des hyperparamètres.

Un objectif de métrique est utilisé pour déterminer si une valeur plus élevée pour une métrique serait préférable ou pire. Les objectifs de métriques sont utilisés lors de la comparaison des exécutions basées sur la métrique principale. Par exemple, vous souhaiterez peut-être optimiser la précision ou réduire les erreurs.

Le nom et l’objectif de la métrique principale sont spécifiés dans la classe HyperDriveConfig lorsque vous configurez une exécution HyperDrive.

Functions

choice

Spécifiez un ensemble discret d’options à partir desquelles effectuer l’échantillonnage.

choice(*options)

Paramètres

Nom Description
options
Obligatoire

Liste d’options parmi lesquelles choisir.

Retours

Type Description

Expression stochastique.

lognormal

Spécifiez une valeur obtenue d’après exp(normal(mu, sigma)).

Le logarithme de la valeur de retour présente une distribution normale. Au moment de l’optimisation, cette variable est restreinte pour être positive.

lognormal(mu, sigma)

Paramètres

Nom Description
mu
Obligatoire

Moyenne de la distribution normale.

sigma
Obligatoire

Écart type de la distribution normale.

Retours

Type Description

Expression stochastique.

loguniform

Spécifiez une distribution uniforme des journaux.

Une valeur est calculée en fonction de exp(uniform(min_value, max_value)), de sorte que le logarithme de la valeur de retour présente une distribution uniforme. Au moment de l’optimisation, cette variable est restreinte à l’intervalle [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Paramètres

Nom Description
min_value
Obligatoire

La valeur minimale de la plage sera exp(min_value) (incluse).

max_value
Obligatoire

La valeur maximale de la plage sera exp(max_value) (incluse).

Retours

Type Description

Expression stochastique.

normal

Spécifiez une valeur réelle qui est normalement distribuée avec la moyenne mu et l’écart type sigma.

Au moment de l’optimisation, cette variable n’a aucune restriction.

normal(mu, sigma)

Paramètres

Nom Description
mu
Obligatoire

Moyenne de la distribution normale.

sigma
Obligatoire

Écart type de la distribution normale.

Retours

Type Description

Expression stochastique.

qlognormal

Spécifiez une valeur comme round(exp(normal(mu, sigma)) / q) * q.

Convient pour une variable discrète par rapport à laquelle l’objectif est lissé et devient de plus en plus lisse à mesure qu’augmente la taille de la variable, qui est limitée d’un côté.

qlognormal(mu, sigma, q)

Paramètres

Nom Description
mu
Obligatoire

Moyenne de la distribution normale.

sigma
Obligatoire

Écart type de la distribution normale.

q
Obligatoire
int

Facteur de lissage.

Retours

Type Description

Expression stochastique.

qloguniform

Spécifiez une distribution uniforme sous la forme round(exp(uniform(min_value, max_value) / q) * q.

Convient pour une variable discrète par rapport à laquelle l’objectif est « lissé », et devient de plus en plus lisse à mesure qu’augmente la taille de la valeur, mais qui doit être limitée à la fois au-dessus et au-dessous.

qloguniform(min_value, max_value, q)

Paramètres

Nom Description
min_value
Obligatoire

Valeur minimale de la plage (inclusive).

max_value
Obligatoire

Valeur maximale de la plage (inclusive).

q
Obligatoire
int

Facteur de lissage.

Retours

Type Description

Expression stochastique.

qnormal

Spécifiez une valeur comme round(normal(mu, sigma) / q) * q.

Convient pour une variable discrète qui prend probablement une valeur autour de mu, mais qui est fondamentalement illimitée.

qnormal(mu, sigma, q)

Paramètres

Nom Description
mu
Obligatoire

Moyenne de la distribution normale.

sigma
Obligatoire

Écart type de la distribution normale.

q
Obligatoire
int

Facteur de lissage.

Retours

Type Description

Expression stochastique.

quniform

Spécifiez une distribution uniforme sous la forme round(uniform(min_value, max_value) / q) * q.

Convient pour une valeur discrète par rapport à laquelle l’objectif est toujours relativement « lissé », mais qui doit être limitée à la fois au-dessus et au-dessous.

quniform(min_value, max_value, q)

Paramètres

Nom Description
min_value
Obligatoire

Valeur minimale de la plage (inclusive).

max_value
Obligatoire

Valeur maximale de la plage (inclusive).

q
Obligatoire
int

Facteur de lissage.

Retours

Type Description

Expression stochastique.

randint

Spécifiez un ensemble d’entiers aléatoires dans la plage [0, upper).

La sémantique de cette distribution est telle qu’il n’y a plus de corrélation dans la fonction de perte entre les valeurs entières voisines, par rapport à des valeurs entières plus éloignées. Il s’agit d’une distribution appropriée pour décrire les seeds aléatoires, par exemple. Si la fonction de perte est davantage corrélée pour les valeurs entières voisines, vous devrez probablement utiliser l’une des distributions continues « quantifiées », telles que quniform, qloguniform, qnormal ou qlognormal.

randint(upper)

Paramètres

Nom Description
upper
Obligatoire
int

Limite supérieure exclusive pour la plage d’entiers.

Retours

Type Description

Expression stochastique.

uniform

Spécifiez une distribution uniforme à partir de laquelle sont prélevés les échantillons.

uniform(min_value, max_value)

Paramètres

Nom Description
min_value
Obligatoire

Valeur minimale de la plage (inclusive).

max_value
Obligatoire

Valeur maximale de la plage (inclusive).

Retours

Type Description

Expression stochastique.