hyperdrive Paket
Enthält Module und Klassen, die die Hyperparameteroptimierung unterstützen.
Hyperparameter sind anpassbare Parameter, die Sie für Modellschulungen auswählen, die den Schulungsvorgang leiten. Mit dem HyperDrive-Paket können Sie die Auswahl dieser Parameter automatisieren. Sie können z. B. den Parametersuchbereich als diskret oder fortlaufend definieren und eine Samplingmethode für den Suchbereich als zufallslos, raster oder Bayesian verwenden. Darüber hinaus können Sie eine primäre Metrik angeben, die im Hyperparameteroptimierungsexperiment optimiert werden soll und ob Sie diese Metrik minimieren oder maximieren möchten. Sie können auch Richtlinien für vorzeitige Beendigungen definieren, in denen schlecht ausgeführte Experimentläufe abgebrochen und neue gestartet werden. Verwenden Sie zum Definieren eines wiederverwendbaren Machine Learning-Workflows für HyperDrive hyper_drive_step ein Pipeline.
Module
| error_definition |
Fehlercodedefinitionen für HyperDrive SDK. |
| error_strings |
Eine Auflistung von Fehlerzeichenfolgen, die im hyperDrive SDK verwendet werden. |
| exceptions |
Ausnahmen, die von HyperDrive ausgelöst werden. |
| parameter_expressions |
Definiert Funktionen, die in HyperDrive verwendet werden können, um einen Hyperparameter-Suchbereich zu beschreiben. Diese Funktionen werden verwendet, um verschiedene Arten von Hyperparameterverteilungen anzugeben. Die Verteilungen werden definiert, wenn Sie das Sampling für einen Hyperparameter-Aufräumen konfigurieren. Wenn Sie z. B. die RandomParameterSampling Klasse verwenden, können Sie eine Stichprobe aus einer Reihe von diskreten Werten oder einer Verteilung fortlaufender Werte auswählen. In diesem Fall können Sie die choice Funktion verwenden, um eine diskrete Gruppe von Werten und uniform Funktionen zu generieren, um eine Verteilung fortlaufender Werte zu generieren. Beispiele für die Verwendung dieser Funktionen finden Sie im Lernprogramm: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters. |
Klassen
| BanditPolicy |
Definiert eine Richtlinie für vorzeitige Beendigungen basierend auf Pufferkriterien und ein Häufigkeits- und Verzögerungsintervall für die Auswertung. Initialisieren Sie eine BanditPolicy mit Pufferfaktor, slack_amount und Auswertungsintervall. |
| BayesianParameterSampling |
Definiert Bayesian Sampling über einen Hyperparameter-Suchbereich. Bayesian Sampling versucht, die nächste Stichprobe von Hyperparametern intelligent zu wählen, basierend auf der Art und Weise, wie die vorherigen Proben durchgeführt wurden, so dass die neue Stichprobe die gemeldete primäre Metrik verbessert. Initialisieren Sie BayesianParameterSampling. |
| EarlyTerminationPolicy |
Abstrakte Basisklasse für alle Richtlinien für vorzeitige Beendigungen. Initialisieren Sie eine Richtlinie für vorzeitige Beendigung. |
| GridParameterSampling |
Definiert das Rastersampling über einen Hyperparameter-Suchbereich. Initialisieren Sie GridParameterSampling. |
| HyperDriveConfig |
Konfiguration, die eine HyperDrive-Ausführung definiert. Die HyperDrive-Konfiguration enthält Informationen zum Sampling des Hyperparameterraums, zur Beendigungsrichtlinie, zur primären Metrik, zum Fortsetzen aus der Konfiguration, zum Schätzen und zum Ausführen des Experiments. Initialisieren Sie hyperDriveConfig. |
| HyperDriveRun |
HyperDriveRun enthält die Details eines übermittelten HyperDrive-Experiments. Diese Klasse kann zum Verwalten, Überprüfen des Status und Abrufen von Ausführungsdetails für die HyperDrive-Ausführung und die einzelnen generierten untergeordneten Ausführungen verwendet werden. Initialisieren sie eine HyperDrive-Ausführung. |
| HyperDriveRunConfig |
Konfiguration, die eine HyperDrive-Ausführung definiert. Die Konfiguration enthält Informationen zu Parameterraumsampling, Beendigungsrichtlinie, primärer Metrik, Schätzwert und dem Computeziel, auf dem das Experiment ausgeführt wird. Initialisieren Sie hyperDriveConfig. |
| HyperParameterSampling |
Abstrakte Basisklasse für alle Hyperparameter-Samplingalgorithmen. Diese Klasse kapselt den Hyperparameterraum, die Samplingmethode und zusätzliche Eigenschaften für abgeleitete Samplingklassen: BayesianParameterSampling, GridParameterSamplingund RandomParameterSampling. Initialisieren Sie HyperParameterSampling. |
| MedianStoppingPolicy |
Definiert eine Richtlinie für vorzeitige Beendigungen basierend auf dem Ausführungsdurchschnitt der primären Metrik aller Läufe. Initialisieren sie eine MedianStoppingPolicy. |
| NoTerminationPolicy |
Gibt an, dass keine Richtlinie für vorzeitige Beendigung angewendet wird. Jede Ausführung wird bis zum Abschluss ausgeführt. Initialisieren Sie NoTerminationPolicy. |
| RandomParameterSampling |
Definiert das zufällige Sampling über einen Hyperparameter-Suchbereich. Initialisieren Sie RandomParameterSampling. |
| TruncationSelectionPolicy |
Definiert eine Richtlinie für vorzeitige Beendigung, die einen bestimmten Prozentsatz der Ausführungen in jedem Auswertungsintervall abbricht. Initialisieren sie eine TruncationSelectionPolicy. |
Enumerationen
| PrimaryMetricGoal |
Definiert unterstützte Metrikziele für die Hyperparameteroptimierung. Ein Metrikziel wird verwendet, um zu bestimmen, ob ein höherer Wert für eine Metrik besser oder schlechter ist. Metrikziele werden beim Vergleichen von Läufen basierend auf der primären Metrik verwendet. Sie können z. B. die Genauigkeit maximieren oder fehler minimieren. Der primäre metrische Name und das Ziel werden in der HyperDriveConfig Klasse angegeben, wenn Sie eine HyperDrive-Ausführung konfigurieren. |
Functions
choice
lognormal
Geben Sie einen Wert an, der gemäß exp(normal(mu, sigma)) gezeichnet wird.
Der Logarithmus des Rückgabewerts wird normalerweise verteilt. Bei der Optimierung ist diese Variable auf positive Ergebnisse beschränkt.
lognormal(mu, sigma)
Parameter
| Name | Beschreibung |
|---|---|
|
mu
Erforderlich
|
Der Mittelwert der Normalverteilung. |
|
sigma
Erforderlich
|
Die Standardabweichung der Normalverteilung. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
loguniform
Geben Sie eine einheitliche Protokollverteilung an.
Ein Wert wird gemäß exp(uniform(min_value, max_value)) gezeichnet, sodass der Logarithmus des Rückgabewerts einheitlich verteilt wird. Bei der Optimierung wird diese Variable auf das Intervall [exp(min_value), exp(max_value)] beschränkt.
loguniform(min_value, max_value)
Parameter
| Name | Beschreibung |
|---|---|
|
min_value
Erforderlich
|
Der Mindestwert im Bereich ist exp(min_value)(einschließlich). |
|
max_value
Erforderlich
|
Der Maximalwert im Bereich ist exp(max_value) (einschließlich). |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
normal
Geben Sie einen realen Wert an, der normal verteilt ist, mit mittlerem Mu und Standardabweichung Sigma.
Bei der Optimierung handelt es sich um eine nicht eingeschränkte Variable.
normal(mu, sigma)
Parameter
| Name | Beschreibung |
|---|---|
|
mu
Erforderlich
|
Der Mittelwert der Normalverteilung. |
|
sigma
Erforderlich
|
die Standardabweichung der Normalverteilung. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
qlognormal
Geben Sie einen Wert wie round(exp(normal(mu, sigma)) / q) * q an.
Geeignet für eine diskrete Variable in Bezug auf das Ziel glatt ist und mit der Größe der Variablen, die von einer Seite begrenzt ist, glatter wird.
qlognormal(mu, sigma, q)
Parameter
| Name | Beschreibung |
|---|---|
|
mu
Erforderlich
|
Der Mittelwert der Normalverteilung. |
|
sigma
Erforderlich
|
Die Standardabweichung der Normalverteilung. |
|
q
Erforderlich
|
Der Glättungsfaktor. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
qloguniform
Geben Sie eine einheitliche Verteilung des Formulars round(exp(min_value, max_value) / q) * q an.
Dies eignet sich für eine diskrete Variable in Bezug darauf, auf die das Ziel "glatt" ist, und wird mit der Größe des Werts glatter, aber das sollte sowohl über als auch unten begrenzt werden.
qloguniform(min_value, max_value, q)
Parameter
| Name | Beschreibung |
|---|---|
|
min_value
Erforderlich
|
Der Mindestwert im Bereich (einschließlich). |
|
max_value
Erforderlich
|
Der Höchstwert im Bereich (einschließlich). |
|
q
Erforderlich
|
Der Glättungsfaktor. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
qnormal
Geben Sie einen Wert wie round(normal(mu, sigma) / q) * q an.
Geeignet für eine diskrete Variable, die wahrscheinlich einen Wert um mu nimmt, aber grundsätzlich ungebunden ist.
qnormal(mu, sigma, q)
Parameter
| Name | Beschreibung |
|---|---|
|
mu
Erforderlich
|
Der Mittelwert der Normalverteilung. |
|
sigma
Erforderlich
|
Die Standardabweichung der Normalverteilung. |
|
q
Erforderlich
|
Der Glättungsfaktor. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
quniform
Geben Sie eine einheitliche Verteilung des Formulars round(uniform(min_value, max_value) / q) * q an.
Dies eignet sich für einen diskreten Wert in Bezug auf den das Ziel immer noch etwas "glatt" ist, die jedoch sowohl über als auch unten begrenzt werden sollte.
quniform(min_value, max_value, q)
Parameter
| Name | Beschreibung |
|---|---|
|
min_value
Erforderlich
|
Der Mindestwert im Bereich (einschließlich). |
|
max_value
Erforderlich
|
Der Höchstwert im Bereich (einschließlich). |
|
q
Erforderlich
|
Der Glättungsfaktor. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
randint
Geben Sie einen Satz zufälliger ganzzahliger Zahlen im Bereich [0, oben) an.
Die Semantik dieser Verteilung besteht darin, dass es keine Korrelation mehr in der Verlustfunktion zwischen ganzzahligen Werten in der Nähe gibt, im Vergleich zu entfernten ganzzahligen Werten. Dies ist eine geeignete Verteilung für die Beschreibung zufälliger Samen, z. B. Wenn die Verlustfunktion wahrscheinlich für ganzzahlige Werte in der Nähe korreliert ist, sollten Sie wahrscheinlich eine der "quantisierten" fortlaufenden Verteilungen verwenden, z. B. Quniform, qloguniform, qnormal oder qlognormal.
randint(upper)
Parameter
| Name | Beschreibung |
|---|---|
|
upper
Erforderlich
|
Die exklusive Obergrenze für den Bereich ganzer Zahlen. |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |
uniform
Geben Sie eine einheitliche Verteilung an, aus der Proben entnommen werden.
uniform(min_value, max_value)
Parameter
| Name | Beschreibung |
|---|---|
|
min_value
Erforderlich
|
Der Mindestwert im Bereich (einschließlich). |
|
max_value
Erforderlich
|
Der Höchstwert im Bereich (einschließlich). |
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der stochastische Ausdruck. |