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
|
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
|
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
|
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
|
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
|
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. |