Udostępnij przez


hyperdrive Pakiet

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

Hiperparametry są regulowanymi parametrami wybranymi do trenowania modelu, które prowadzą proces trenowania. Pakiet funkcji HyperDrive ułatwia zautomatyzowanie wybierania tych parametrów. Można na przykład zdefiniować przestrzeń wyszukiwania parametrów jako dyskretną lub ciągłą, a metodę próbkowania na przestrzeni wyszukiwania jako losową, siatkę lub Bayesian. Ponadto można określić podstawową metrykę do optymalizacji w eksperymencie dostrajania hiperparametrów oraz określić, czy zminimalizować lub zmaksymalizować metrykę. Można również zdefiniować zasady wczesnego zakończenia, w których przebiegi eksperymentów o niskiej wydajności są anulowane, a nowe zostały uruchomione. Aby zdefiniować przepływ pracy uczenia maszynowego wielokrotnego użytku dla funkcji HyperDrive, użyj polecenia hyper_drive_step , aby utworzyć element Pipeline.

Moduły

error_definition

Definicje kodu błędu dla zestawu HyperDrive SDK.

error_strings

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

exceptions

Wyjątki zgłaszane przez usługę HyperDrive.

parameter_expressions

Definiuje funkcje, których można używać w usłudze HyperDrive do opisania 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 w przypadku użycia 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ść i interwał opóźnienia oceny.

Zainicjuj element BanditPolicy za pomocą współczynnika slack, slack_amount i interwału 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 poprawiała zgłoszoną metryę podstawową.

Zainicjuj algorytm BayesianParameterSampling.

EarlyTerminationPolicy

Abstrakcyjna klasa bazowa dla wszystkich zasad wczesnego kończenia.

Inicjowanie zasad wczesnego kończenia.

GridParameterSampling

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

Zainicjuj parametr GridParameterSampling.

HyperDriveConfig

Konfiguracja definiująca przebieg funkcji HyperDrive.

Konfiguracja funkcji HyperDrive obejmuje informacje o próbkowaniu przestrzeni hiperparametrów, zasadach zakończenia, podstawowej metryce, wznawianiu konfiguracji, narzędziu do szacowania i docelowym obiekcie obliczeniowym w celu wykonania przebiegów eksperymentu.

Zainicjuj funkcję HyperDriveConfig.

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.

Zainicjuj uruchomienie funkcji HyperDrive.

HyperDriveRunConfig

Konfiguracja definiująca przebieg funkcji HyperDrive.

Konfiguracja zawiera informacje o próbkowaniu przestrzeni parametrów, zasadach zakończenia, podstawowej metryce, narzędziu do szacowania i docelowym obiekcie obliczeniowym w celu wykonania przebiegów eksperymentu.

Zainicjuj funkcję HyperDriveConfig.

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.

Inicjowanie obiektu MedianStoppingPolicy.

NoTerminationPolicy

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

Każde uruchomienie zostanie wykonane do momentu ukończenia.

Zainicjuj wartość 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ść metryki jest lepsza, czy gorsza. Cele metryk są używane podczas porównywania przebiegów na podstawie podstawowej metryki. Na przykład możesz zmaksymalizować dokładność lub zminimalizować błąd.

Podstawowa nazwa i cel metryki są określane w HyperDriveConfig klasie podczas 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ść rysowaną zgodnie z wyrażeniem (normal(mu, sigma)).

Logarytm wartości zwracanej jest zwykle dystrybuowany. Podczas optymalizacji 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 exp(uniform(min_value, max_value)), tak aby logarytm wartości zwracanej był równomiernie rozłożony. Podczas optymalizacji 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 rozłożona na średnią mu i odchylenie standardowe sigma.

Podczas optymalizacji jest to zmienna bez ograniczeń.

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ę łagodniejszy 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ładzenia.

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 staje się wygładzony z rozmiarem wartości, ale które powinny być powiązane 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ładzenia.

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

Zwraca

Typ Opis

Wyrażenie stochastyczne.

quniform

Określ jednolity rozkład kształtu 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óry powinien być ograniczony 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ładzenia.

Zwraca

Typ Opis

Wyrażenie stochastyczne.

randint

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

Semantyka tej dystrybucji polega na tym, że nie ma więcej korelacji w funkcji straty między pobliskimi wartościami całkowitymi, w porównaniu z bardziej odległymi wartościami całkowitymi. Jest to odpowiedni rozkład opisujący na przykład nasiona losowe. Jeśli funkcja straty 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

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

max_value
Wymagane

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

Zwraca

Typ Opis

Wyrażenie stochastyczne.