Freigeben über


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

Geben Sie einen separaten Satz von Optionen an, aus dem Sie beispielen möchten.

choice(*options)

Parameter

Name Beschreibung
options
Erforderlich

Die Liste der Optionen, aus der Sie auswählen können.

Gibt zurück

Typ Beschreibung

Der stochastische Ausdruck.

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
int

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
int

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
int

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
int

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
int

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.