Partager via


hyperdrive Paquet

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

Les hyperparamètres sont des paramètres réglables que vous choisissez pour l’entraînement de modèle qui guident le processus d’entraînement. Le package HyperDrive vous aide à automatiser le choix de ces paramètres. Par exemple, vous pouvez définir l’espace de recherche de paramètre comme étant 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 des hyperparamètres, et s’il faut réduire ou optimiser cette métrique. Vous pouvez également définir des stratégies d’arrêt anticipées dans lesquelles les exécutions d’expériences médiocres sont annulées et les nouvelles sont démarrées. Pour définir un flux de travail Machine Learning réutilisable pour HyperDrive, utilisez-le hyper_drive_step pour créer un Pipeline.

Modules

error_definition

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

error_strings

Collection de chaînes d’erreur utilisées dans le Kit de développement logiciel (SDK) HyperDrive.

exceptions

Exceptions levées par HyperDrive.

parameter_expressions

Définit les fonctions qui peuvent être utilisées dans HyperDrive pour décrire un espace de recherche hyperparamètre.

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ètre. Par exemple, lorsque vous utilisez la RandomParameterSampling classe, 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 choice fonction pour générer un ensemble discret de valeurs et uniform de fonction 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 et une fréquence et un intervalle de retard pour l’évaluation.

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

BayesianParameterSampling

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

L’échantillonnage bayésien tente de choisir intelligemment l’échantillon suivant d’hyperparamètres, en fonction de la façon dont les échantillons précédents ont effectué, de sorte 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é.

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

GridParameterSampling

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

Initialiser GridParameterSampling.

HyperDriveConfig

Configuration qui définit une exécution HyperDrive.

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

Initialisez HyperDriveConfig.

HyperDriveRun

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

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

Initialiser une exécution HyperDrive.

HyperDriveRunConfig

Configuration qui définit une exécution HyperDrive.

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

Initialisez HyperDriveConfig.

HyperParameterSampling

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

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

Initialisez HyperParameterSampling.

MedianStoppingPolicy

Définit une stratégie de terminaison anticipée basée sur les moyennes en cours d’exécution de la métrique principale de toutes les exécutions.

Initialisez une medianStoppingPolicy.

NoTerminationPolicy

Spécifie 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 hyperparamètre.

Initialiser RandomParameterSampling.

TruncationSelectionPolicy

Définit une stratégie d’arrêt anticipé qui annule un pourcentage donné d’exécutions à chaque intervalle d’évaluation.

Initialisez une truncationSelectionPolicy.

Énumérations

PrimaryMetricGoal

Définit les objectifs de métrique 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 est meilleure ou pire. Les objectifs de métrique sont utilisés lors de la comparaison des exécutions en fonction de la métrique principale. Par exemple, vous pouvez optimiser la précision ou réduire l’erreur.

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

Functions

choice

Spécifiez un ensemble discret d’options à partir duquel échantillonner.

choice(*options)

Paramètres

Nom Description
options
Obligatoire

Liste des options à choisir.

Retours

Type Description

Expression stochastique.

lognormal

Spécifiez une valeur dessinée en fonction d’exp(normal(mu, sigma)).

Le logarithme de la valeur de retour est normalement distribué. Lors de l’optimisation, cette variable est contrainte d’ê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 de journal.

Une valeur est dessinée en fonction d’exp(uniform(min_value, max_value)) afin que le logarithme de la valeur de retour soit uniformément distribué. Lors de l’optimisation, cette variable est limitée à 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)(inclusive).

max_value
Obligatoire

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

Retours

Type Description

Expression stochastique.

normal

Spécifiez une valeur réelle qui est normalement distribuée avec mu moyen et écart type sigma.

Lors de l’optimisation, il s’agit d’une variable non contrainte.

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 telle que round(exp(normal(mu, sigma)) / q) * q.

Adapté à une variable discrète par rapport à laquelle l’objectif est lisse et obtient plus lisse avec 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 du formulaire round(exp(uniform(min_value, max_value) / q) * q.

Cela convient à une variable discrète par rapport à laquelle l’objectif est « lisse », et obtient plus lisse avec 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 telle que round(mu, sigma) / q) * q.

Adapté à une variable discrète qui prend probablement une valeur autour de mu, mais qui est fondamentalement non lié.

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 du formulaire round(uniform(min_value, max_value) / q) * q.

Cela convient à une valeur discrète par rapport à laquelle l’objectif est encore un peu « lisse », mais qui doit être limité à 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 jeu d’entiers aléatoires dans la plage [0, majuscule).

La sémantique de cette distribution est qu’il n’y a plus de corrélation dans la fonction de perte entre les valeurs entières voisines, par rapport aux valeurs entières plus distantes. Il s’agit d’une distribution appropriée pour décrire des graines aléatoires, par exemple. Si la fonction de perte est probablement plus corrélée pour les valeurs entières voisines, vous devez probablement utiliser l’une des distributions continues « quantized », 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 des échantillons sont prélevés.

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.