Udostępnij za pośrednictwem


hyperdrive Pakiet

Zawiera moduły i klasy obsługujące dostrajanie hiperparametrów.

Hiperparametry to parametry regulowane do trenowania modelu, które kierują procesem trenowania. Pakiet funkcji HyperDrive pomaga zautomatyzować wybór tych parametrów. Można na przykład zdefiniować przestrzeń wyszukiwania parametrów jako dyskretną lub ciągłą oraz metodę próbkowania w przestrzeni wyszukiwania jako losowe, siatki lub Bayesian. Ponadto można określić metrykę podstawową do optymalizacji w eksperymencie dostrajania hiperparametrów oraz określić, czy chcesz zminimalizować lub zmaksymalizować metrykę. Można również zdefiniować zasady wczesnego kończenia, w których przebiegi eksperymentów o niskiej wydajności zostaną anulowane i uruchomione nowe. Aby zdefiniować przepływ pracy uczenia maszynowego wielokrotnego użytku dla funkcji HyperDrive, użyj polecenia hyper_drive_step w celu utworzenia elementu Pipeline.

Moduły

error_definition

Definicje kodu błędu dla zestawu SDK funkcji HyperDrive.

error_strings

Kolekcja ciągów błędów używanych w zestawie SDK funkcji HyperDrive.

exceptions

Wyjątki zgłaszane przez funkcję HyperDrive.

parameter_expressions

Definiuje funkcje, które mogą być używane w usłudze HyperDrive do opisywania przestrzeni wyszukiwania hiperparametrów.

Te funkcje służą do określania różnych typów rozkładów hiperparametrów. Rozkłady są definiowane podczas konfigurowania próbkowania dla zamiatania hiperparametrów. Na przykład podczas korzystania z RandomParameterSampling klasy można wybrać próbkę z zestawu wartości dyskretnych lub rozkład wartości ciągłych. W takim przypadku można użyć choice funkcji do wygenerowania dyskretnego zestawu wartości i uniform funkcji w celu wygenerowania rozkładu wartości ciągłych.

Przykłady użycia tych funkcji można znaleźć w samouczku: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Klasy

BanditPolicy

Definiuje zasady wczesnego zakończenia na podstawie kryteriów slack oraz częstotliwości i interwału opóźnień do oceny.

Zainicjuj element BanditPolicy z współczynnikiem slack, slack_amount i interwałem oceny.

BayesianParameterSampling

Definiuje próbkowanie bayesowskie na hiperparametrowej przestrzeni wyszukiwania.

Próbkowanie bayesowskie próbuje inteligentnie wybrać następną próbkę hiperparametrów w oparciu o sposób wykonania poprzednich próbek, tak aby nowa próbka poprawiła zgłoszoną metryę podstawową.

Inicjuj BayesianParameterSampling.

EarlyTerminationPolicy

Abstrakcyjna klasa bazowa dla wszystkich zasad wczesnego kończenia.

Zainicjuj zasady wczesnego zakończenia.

GridParameterSampling

Definiuje próbkowanie siatki na przestrzeni wyszukiwania hiperparametrów.

Inicjowanie elementu GridParameterSampling.

HyperDriveConfig

Konfiguracja definiująca przebieg funkcji HyperDrive.

Konfiguracja funkcji HyperDrive zawiera informacje o próbkowaniu przestrzeni hiperparametrowej, zasadach zakończenia, podstawowej metryce, wznawianiu konfiguracji, narzędzia do szacowania i celu obliczeniowego do wykonania przebiegów eksperymentu.

Zainicjuj konfigurację funkcji HyperDrive.

HyperDriveRun

Funkcja HyperDriveRun zawiera szczegóły przesłanego eksperymentu funkcji HyperDrive.

Ta klasa może służyć do zarządzania, sprawdzania stanu i pobierania szczegółów uruchomienia funkcji HyperDrive oraz każdego z wygenerowanych przebiegów podrzędnych.

Inicjowanie uruchomienia funkcji HyperDrive.

HyperDriveRunConfig

Konfiguracja definiująca przebieg funkcji HyperDrive.

Konfiguracja zawiera informacje na temat próbkowania przestrzeni parametrów, zasad zakończenia, podstawowej metryki, narzędzia do szacowania i celu obliczeniowego do wykonania przebiegów eksperymentu.

Zainicjuj konfigurację funkcji HyperDrive.

HyperParameterSampling

Abstrakcyjna klasa bazowa dla wszystkich algorytmów próbkowania hiperparametrów.

Ta klasa hermetyzuje przestrzeń hiperparametrów, metodę próbkowania i dodatkowe właściwości dla klas próbkowania pochodnego: BayesianParameterSampling, GridParameterSamplingi RandomParameterSampling.

Inicjowanie funkcji HyperParameterSampling.

MedianStoppingPolicy

Definiuje zasady wczesnego zakończenia na podstawie średnich uruchamiania podstawowej metryki wszystkich przebiegów.

Zainicjuj medianStoppingPolicy.

NoTerminationPolicy

Określa, że nie są stosowane żadne zasady wczesnego zakończenia.

Każde uruchomienie zostanie wykonane do ukończenia.

Zainicjuj element NoTerminationPolicy.

RandomParameterSampling

Definiuje losowe próbkowanie w przestrzeni wyszukiwania hiperparametrów.

Zainicjuj losoweparametrySampling.

TruncationSelectionPolicy

Definiuje zasady wczesnego zakończenia, które anulują określony procent przebiegów w każdym interwale oceny.

Zainicjuj truncationSelectionPolicy.

Wyliczenia

PrimaryMetricGoal

Definiuje obsługiwane cele metryk na potrzeby dostrajania hiperparametrów.

Cel metryki służy do określania, czy wyższa wartość dla metryki jest lepsza, czy gorsza. Cele metryk są używane podczas porównywania przebiegów na podstawie metryki podstawowej. Na przykład możesz zmaksymalizować dokładność lub zminimalizować błąd.

Podstawowa nazwa i cel metryki są określone w klasie podczas HyperDriveConfig konfigurowania uruchomienia funkcji HyperDrive.

Funkcje

choice

Określ dyskretny zestaw opcji do próbkowania.

choice(*options)

Parametry

Nazwa Opis
options
Wymagane

Lista opcji do wyboru.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

lognormal

Określ wartość narysowaną zgodnie z wyrażeniem exp(normal(mu, sigma)).

Logarytm wartości zwracanej jest zwykle dystrybuowany. Podczas optymalizowania ta zmienna jest ograniczona, aby być dodatnia.

lognormal(mu, sigma)

Parametry

Nazwa Opis
mu
Wymagane

Średnia rozkładu normalnego.

sigma
Wymagane

Odchylenie standardowe rozkładu normalnego.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

loguniform

Określ jednolitą dystrybucję dziennika.

Wartość jest rysowana zgodnie z wyrażeniem exp(uniform(min_value, max_value)), aby logarytm wartości zwracanej był równomiernie rozłożony. Podczas optymalizowania ta zmienna jest ograniczona do interwału [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Parametry

Nazwa Opis
min_value
Wymagane

Minimalna wartość w zakresie będzie exp(min_value)(inclusive).

max_value
Wymagane

Maksymalna wartość w zakresie będzie exp(max_value) (włącznie).

Zwraca

Typ Opis

Wyrażenie stochastyczne.

normal

Określ wartość rzeczywistą, która jest zwykle dystrybuowana ze średnią mu i odchyleniem standardowym sigma.

Podczas optymalizowania jest to nieskonsekwowana zmienna.

normal(mu, sigma)

Parametry

Nazwa Opis
mu
Wymagane

Średnia rozkładu normalnego.

sigma
Wymagane

odchylenie standardowe rozkładu normalnego.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

qlognormal

Określ wartość, na przykład round(exp(normal(mu, sigma)) / q) * q.

Nadaje się do zmiennej dyskretnej, w odniesieniu do której cel jest gładki i staje się bardziej płynny z rozmiarem zmiennej, która jest ograniczona z jednej strony.

qlognormal(mu, sigma, q)

Parametry

Nazwa Opis
mu
Wymagane

Średnia rozkładu normalnego.

sigma
Wymagane

Odchylenie standardowe rozkładu normalnego.

q
Wymagane
int

Współczynnik wygładzania.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

qloguniform

Określ jednolity rozkład formularza round(exp(uniform(min_value, max_value) / q) * q.

Jest to odpowiednie dla zmiennej dyskretnej, w odniesieniu do której cel jest "gładki", i jest wygładzony z rozmiarem wartości, ale który powinien być powiązany zarówno powyżej, jak i poniżej.

qloguniform(min_value, max_value, q)

Parametry

Nazwa Opis
min_value
Wymagane

Minimalna wartość w zakresie (włącznie).

max_value
Wymagane

Maksymalna wartość w zakresie (włącznie).

q
Wymagane
int

Współczynnik wygładzania.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

qnormal

Określ wartość, na przykład round(normal(mu, sigma) / q) * q.

Nadaje się do zmiennej dyskretnej, która prawdopodobnie przyjmuje wartość wokół mu, ale jest zasadniczo niezwiązana.

qnormal(mu, sigma, q)

Parametry

Nazwa Opis
mu
Wymagane

Średnia rozkładu normalnego.

sigma
Wymagane

Odchylenie standardowe rozkładu normalnego.

q
Wymagane
int

Współczynnik wygładzania.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

quniform

Określ jednolity rozkład formularza round(uniform(min_value, max_value) / q) * q.

Jest to odpowiednie dla wartości dyskretnej, w odniesieniu do której cel jest nadal nieco "gładki", ale które powinny być ograniczone zarówno powyżej, jak i poniżej.

quniform(min_value, max_value, q)

Parametry

Nazwa Opis
min_value
Wymagane

Minimalna wartość w zakresie (włącznie).

max_value
Wymagane

Maksymalna wartość w zakresie (włącznie).

q
Wymagane
int

Współczynnik wygładzania.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

randint

Określ zestaw losowych liczb całkowitych w zakresie [0, górny).

Semantyka tego rozkładu polega na tym, że nie ma więcej korelacji w funkcji straty między pobliskimi wartościami całkowitymi całkowitymi, w porównaniu z bardziej odległymi wartościami całkowitymi. Jest to odpowiedni rozkład opisujący na przykład losowe nasiona. Jeśli funkcja loss jest prawdopodobnie bardziej skorelowana z pobliskimi wartościami całkowitymi, prawdopodobnie należy użyć jednego z "kwantyzowanych" rozkładów ciągłych, takich jak quniform, qloguniform, qnormal lub qlognormal.

randint(upper)

Parametry

Nazwa Opis
upper
Wymagane
int

Wyłączna górna granica zakresu liczb całkowitych.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

uniform

Określ jednolity rozkład, z którego pobierane są próbki.

uniform(min_value, max_value)

Parametry

Nazwa Opis
min_value
Wymagane

Wartość minimalna w zakresie (włącznie).

max_value
Wymagane

Wartość maksymalna w zakresie (włącznie).

Zwraca

Typ Opis

Wyrażenie stochastyczne.