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
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
|
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
|
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
|
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
|
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
|
Wyłączna górna granica zakresu liczb całkowitych. |
Zwraca
| Typ | Opis |
|---|---|
|
Wyrażenie stochastyczne. |