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