Sdílet prostřednictvím


hyperdrive Balíček

Obsahuje moduly a třídy podporující ladění hyperparametrů.

Hyperparametry jsou nastavitelné parametry, které zvolíte pro trénování modelu, které řídí proces trénování. Balíček HyperDrive vám pomůže automatizovat výběr těchto parametrů. Můžete například definovat vyhledávací prostor parametru jako diskrétní nebo průběžný a metodu vzorkování nad vyhledávacím prostorem jako náhodný, mřížkový nebo bayesovský. Můžete také zadat primární metriku, která se má optimalizovat v experimentu ladění hyperparametrů a zda chcete tuto metriku minimalizovat nebo maximalizovat. Můžete také definovat zásady předčasného ukončení, ve kterých se špatně fungující spuštění experimentů zruší a spustí se nová spuštění. Pokud chcete definovat opakovaně použitelný pracovní postup strojového učení pro HyperDrive, použijte hyper_drive_step k vytvoření Pipeline.

Moduly

error_definition

Definice kódu chyby pro sadu HyperDrive SDK

error_strings

Kolekce chybových řetězců používaných v rámci sady HyperDrive SDK.

exceptions

Výjimky vyvolané HyperDrivem.

parameter_expressions

Definuje funkce, které lze v HyperDrivu použít k popisu prostoru hledání hyperparametrů.

Tyto funkce slouží k určení různých typů rozdělení hyperparametrů. Distribuce se definují při konfiguraci vzorkování pro úklid hyperparametrů. Například při použití RandomParameterSampling třídy můžete zvolit vzorkování ze sady diskrétních hodnot nebo rozdělení spojitých hodnot. V takovém případě můžete funkci použít choice k vygenerování diskrétní sady hodnot a uniform funkci k vygenerování rozdělení spojitých hodnot.

Příklady použití těchto funkcí najdete v tomto kurzu: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Třídy

BanditPolicy

Definuje zásady předčasného ukončení založené na kritériích časové rezervy a frekvenci a interval zpoždění pro vyhodnocení.

Inicializujte zásadu BanditPolicy pomocí faktoru slacku, slack_amount a intervalu vyhodnocení.

BayesianParameterSampling

Definuje bayesovské vzorkování nad prostorem vyhledávání hyperparametrů.

Bayesovské vzorkování se pokusí inteligentně vybrat další vzorek hyperparametrů na základě výkonu předchozích vzorků tak, aby nový vzorek zlepšil hlášenou primární metriku.

Inicializace BayesianParameterSampling.

EarlyTerminationPolicy

Abstraktní základní třída pro všechny zásady předčasného ukončení.

Inicializace zásad předčasného ukončení

GridParameterSampling

Definuje vzorkování mřížky nad prostorem vyhledávání hyperparametrů.

Inicializace GridParameterSampling.

HyperDriveConfig

Konfigurace, která definuje spuštění HyperDrive.

Konfigurace HyperDrivu zahrnuje informace o vzorkování prostoru hyperparametrů, zásadách ukončení, primární metrikě, obnovení z konfigurace, nástroji pro posouzení a cílovém výpočetním objektu pro spuštění experimentu.

Inicializujte HyperDriveConfig.

HyperDriveRun

HyperDriveRun obsahuje podrobnosti o odeslaném experimentu HyperDrive.

Tuto třídu lze použít ke správě, kontrole stavu a načítání podrobností o spuštění hyperdrivu a každém z vygenerovaných podřízených spuštění.

Inicializace spuštění HyperDrive

HyperDriveRunConfig

Konfigurace, která definuje spuštění HyperDrive.

Konfigurace zahrnuje informace o vzorkování prostoru parametru, zásadách ukončení, primární metrikě, estimátoru a cílovém výpočetním objektu pro spuštění experimentu.

Inicializujte HyperDriveConfig.

HyperParameterSampling

Abstraktní základní třída pro všechny algoritmy vzorkování hyperparametrů.

Tato třída zapouzdřuje prostor hyperparametrů, metodu vzorkování a další vlastnosti pro odvozené třídy vzorkování: BayesianParameterSampling, GridParameterSamplinga RandomParameterSampling.

Inicializace HyperParameterSampling.

MedianStoppingPolicy

Definuje zásady předčasného ukončení na základě průběžných průměrů primární metriky všech spuštění.

Inicializace MedianStoppingPolicy

NoTerminationPolicy

Určuje, že se nepoužijí žádné zásady předčasného ukončení.

Každé spuštění se spustí až do dokončení.

Initialize NoTerminationPolicy.

RandomParameterSampling

Definuje náhodné vzorkování v prostoru hledání hyperparametrů.

Inicializovat RandomParameterSampling.

TruncationSelectionPolicy

Definuje zásady předčasného ukončení, které zruší dané procento spuštění v každém intervalu hodnocení.

Inicializujte truncationSelectionPolicy.

Výčty

PrimaryMetricGoal

Definuje podporované cíle metrik pro ladění hyperparametrů.

Cíl metriky se používá k určení, jestli je vyšší hodnota metriky lepší nebo horší. Cíle metrik se používají při porovnávání spuštění na základě primární metriky. Můžete například chtít maximalizovat přesnost nebo minimalizovat chyby.

Název primární metriky a cíl se zadává ve HyperDriveConfig třídě při konfiguraci spuštění HyperDrive.

Funkce

choice

Zadejte samostatnou sadu možností, ze které chcete vzorkovat.

choice(*options)

Parametry

Name Description
options
Vyžadováno

Seznam možností, ze které si můžete vybrat.

Návraty

Typ Description

Stochastický výraz.

lognormal

Zadejte hodnotu nakreslenou podle exp(normal(mu, sigma)).

Logaritmus návratové hodnoty se obvykle distribuuje. Při optimalizaci je tato proměnná omezena tak, aby byla kladná.

lognormal(mu, sigma)

Parametry

Name Description
mu
Vyžadováno

Střední hodnota normálního rozdělení.

sigma
Vyžadováno

Směrodatná odchylka normálního rozdělení.

Návraty

Typ Description

Stochastický výraz.

loguniform

Zadejte jednotné rozdělení protokolu.

Hodnota se vykreslí podle výrazu exp(uniform(min_value, max_value)) tak, aby byl logaritmus návratové hodnoty rovnoměrně rozložen. Při optimalizaci je tato proměnná omezena na interval [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Parametry

Name Description
min_value
Vyžadováno

Minimální hodnota v rozsahu bude exp(min_value)(včetně).

max_value
Vyžadováno

Maximální hodnota v rozsahu bude exp(max_value) (včetně).

Návraty

Typ Description

Stochastický výraz.

normal

Zadejte reálnou hodnotu, která je normálně rozdělená se střední hodnotou mu a směrodatnou odchylkou sigma.

Při optimalizaci se jedná o proměnnou bez omezení.

normal(mu, sigma)

Parametry

Name Description
mu
Vyžadováno

Střední hodnota normálního rozdělení.

sigma
Vyžadováno

směrodatnou odchylku normálního rozdělení.

Návraty

Typ Description

Stochastický výraz.

qlognormal

Zadejte hodnotu jako round(exp(normal(mu, sigma)) / q) * q.

Vhodné pro diskrétní proměnnou, jejíž cíl je hladký a je plynulejší s velikostí proměnné, která je ohraničena z jedné strany.

qlognormal(mu, sigma, q)

Parametry

Name Description
mu
Vyžadováno

Střední hodnota normálního rozdělení.

sigma
Vyžadováno

Směrodatná odchylka normálního rozdělení.

q
Vyžadováno
int

Faktor vyhlazování.

Návraty

Typ Description

Stochastický výraz.

qloguniform

Zadejte jednotné rozdělení formuláře round(exp(uniform(min_value; max_value) / q) * q.

To je vhodné pro diskrétní proměnnou, jejíž cíl je "hladký" a s velikostí hodnoty je hladší, ale která by měla být ohraničena nad i pod.

qloguniform(min_value, max_value, q)

Parametry

Name Description
min_value
Vyžadováno

Minimální hodnota v rozsahu (včetně).

max_value
Vyžadováno

Maximální hodnota v rozsahu (včetně).

q
Vyžadováno
int

Faktor vyhlazování.

Návraty

Typ Description

Stochastický výraz.

qnormal

Zadejte hodnotu jako round(normal(mu, sigma) / q) * q.

Vhodné pro diskrétní proměnnou, která pravděpodobně přijímá hodnotu kolem mu, ale je v podstatě nevázaná.

qnormal(mu, sigma, q)

Parametry

Name Description
mu
Vyžadováno

Střední hodnota normálního rozdělení.

sigma
Vyžadováno

Směrodatná odchylka normálního rozdělení.

q
Vyžadováno
int

Faktor vyhlazování.

Návraty

Typ Description

Stochastický výraz.

quniform

Zadejte rovnoměrné rozdělení formuláře round(uniform(min_value, max_value) / q) * q.

To je vhodné pro diskrétní hodnotu, vzhledem k níž je cíl stále poněkud "hladký", ale která by měla být ohraničena nad i pod.

quniform(min_value, max_value, q)

Parametry

Name Description
min_value
Vyžadováno

Minimální hodnota v rozsahu (včetně).

max_value
Vyžadováno

Maximální hodnota v rozsahu (včetně).

q
Vyžadováno
int

Faktor vyhlazování.

Návraty

Typ Description

Stochastický výraz.

randint

Zadejte sadu náhodných celých čísel v oblasti [0, horní).

Sémantika tohoto rozdělení spočívá v tom, že ve ztrátové funkci neexistuje žádná další korelace mezi blízkými celočíselnými hodnotami ve srovnání se vzdálenějšími celočíselnými hodnotami. Toto je vhodné rozdělení například pro popis náhodných semen. Pokud je funkce ztráty pravděpodobně více korelovaná pro blízké celočíselné hodnoty, měli byste pravděpodobně použít jedno z "kvantovaných" spojitých rozdělení, například quniform, qloguniform, qnormal nebo qlognormal.

randint(upper)

Parametry

Name Description
upper
Vyžadováno
int

Výhradní horní mez pro oblast celých čísel.

Návraty

Typ Description

Stochastický výraz.

uniform

Zadejte jednotné rozdělení, ze kterého se odebírají vzorky.

uniform(min_value, max_value)

Parametry

Name Description
min_value
Vyžadováno

Minimální hodnota v rozsahu (včetně).

max_value
Vyžadováno

Maximální hodnota v rozsahu (včetně).

Návraty

Typ Description

Stochastický výraz.