Sdílet prostřednictvím


Ladění hyperparametrů pomocí služby Azure Machine Learning (v1)

PLATÍ PRO: Rozšíření Azure CLI ml v1

Důležité

Některé příkazy Azure CLI v tomto článku používají azure-cli-mlrozšíření (nebo v1) pro Azure Machine Learning. Podpora rozšíření v1 skončí 30. září 2025. Do tohoto data budete moct nainstalovat a používat rozšíření v1.

Doporučujeme přejít na mlrozšíření (nebo v2) před 30. zářím 2025. Další informace o rozšíření v2 najdete v tématu Rozšíření Azure ML CLI a Python SDK v2.

Automatizace efektivního ladění hyperparametrů pomocí balíčku HyperDrive služby Azure Machine Learning (v1). Zjistěte, jak dokončit kroky potřebné k ladění hyperparametrů pomocí sady Azure Machine Learning SDK:

  1. Definování prostoru pro hledání parametrů
  2. Určení primární metriky pro optimalizaci
  3. Určení zásad předčasného ukončení pro spuštění s nízkým výkonem
  4. Vytváření a přiřazování prostředků
  5. Spuštění experimentu s definovanou konfigurací
  6. Vizualizace trénovacích běhů
  7. Výběr nejlepší konfigurace pro váš model

Co je ladění hyperparametrů?

Hyperparametry jsou nastavitelné parametry, které umožňují řídit proces trénování modelu. Například u neurálních sítí rozhodujete o počtu skrytých vrstev a počtu uzlů v každé vrstvě. Výkon modelu závisí silně na hyperparametrech.

Ladění hyperparametrů, označované také jako optimalizace hyperparametrů, je proces hledání konfigurace hyperparametrů, které mají za následek nejlepší výkon. Proces je obvykle výpočetně nákladný a ruční.

Azure Machine Learning umožňuje automatizovat ladění hyperparametrů a paralelně spouštět experimenty za účelem efektivní optimalizace hyperparametrů.

Definování vyhledávacího prostoru

Vylaďte hyperparametry prozkoumáním rozsahu hodnot definovaných pro každý hyperparametr.

Hyperparametry můžou být diskrétní nebo souvislé a mají distribuci hodnot popsaných výrazem parametru.

Diskrétní hyperparametry

Diskrétní hyperparametry se zadají mezi choice diskrétními hodnotami. choice může být:

  • jedné nebo více hodnot oddělených čárkami
  • range objekt
  • list libovolný objekt
    {
        "batch_size": choice(16, 32, 64, 128)
        "number_of_hidden_layers": choice(range(1,5))
    }

V tomto případě batch_size jedna z hodnot [16, 32, 64, 128] a number_of_hidden_layers vezme jednu z hodnot [1, 2, 3, 4].

Pomocí distribuce je možné zadat také následující pokročilé diskrétní hyperparametry:

  • quniform(low, high, q) – Vrátí hodnotu jako round(uniform(low, high) / q) * q.
  • qloguniform(low, high, q) - Vrátí hodnotu jako round(exp(uniform(low, high)) / q) * q.
  • qnormal(mu, sigma, q) – Vrátí hodnotu jako round(normal(mu, sigma) / q) * q.
  • qlognormal(mu, sigma, q) - Vrátí hodnotu jako round(exp(normal(mu, sigma)) / q) * q.

Průběžné hyperparametry

Hyperparametry Continuous se zadají jako rozdělení v souvislém rozsahu hodnot:

  • uniform(low, high) – Vrátí hodnotu rovnoměrně rozdělenou mezi nízkou a vysokou hodnotu.
  • loguniform(low, high) - Vrátí hodnotu nakreslenou podle hodnoty exp(uniform(low, high)), aby logaritmus návratové hodnoty byl rovnoměrně rozdělen.
  • normal(mu, sigma) - Vrátí reálnou hodnotu, která je normálně distribuovaná střední mí a směrodatnou odchylkou sigma.
  • lognormal(mu, sigma) - Vrátí hodnotu nakreslenou podle hodnoty exp(normal(mu, sigma)), aby logaritmus návratové hodnoty byl normálně distribuován.

Příklad definice prostoru parametru:

    {    
        "learning_rate": normal(10, 3),
        "keep_probability": uniform(0.05, 0.1)
    }

Tento kód definuje vyhledávací prostor se dvěma parametry – learning_rate a keep_probability. learning_rate má normální rozdělení se střední hodnotou 10 a směrodatnou odchylkou 3. keep_probability má jednotné rozdělení s minimální hodnotou 0,05 a maximální hodnotou 0,1.

Vzorkování prostoru hyperparametrů

Zadejte metodu vzorkování parametrů, která se má použít v prostoru hyperparametrů. Azure Machine Learning podporuje následující metody:

  • Náhodné vybrání vzorků
  • Vzorkování mřížky
  • Bayesovské vzorkování

Náhodné vybrání vzorků

Náhodné vzorkování podporuje diskrétní a souvislé hyperparametry. Podporuje předčasné ukončení spuštění s nízkým výkonem. Někteří uživatelé provede počáteční vyhledávání s náhodným vzorkováním a pak zpřesní prostor hledání, aby se zlepšily výsledky.

V náhodném vzorkování jsou hodnoty hyperparametrů náhodně vybrány z definovaného vyhledávacího prostoru.

from azureml.train.hyperdrive import RandomParameterSampling
from azureml.train.hyperdrive import normal, uniform, choice
param_sampling = RandomParameterSampling( {
        "learning_rate": normal(10, 3),
        "keep_probability": uniform(0.05, 0.1),
        "batch_size": choice(16, 32, 64, 128)
    }
)

Vzorkování mřížky

Vzorkování mřížky podporuje diskrétní hyperparametry. Vzorkování mřížky použijte, pokud můžete rozpočet použít k vyčerpávajícímu vyhledávání ve vyhledávacím prostoru. Podporuje předčasné ukončení spuštění s nízkým výkonem.

Vzorkování mřížky provede jednoduché vyhledávání v mřížce nad všemi možnými hodnotami. Vzorkování mřížky lze použít pouze s choice hyperparametry. Například následující prostor obsahuje šest ukázek:

from azureml.train.hyperdrive import GridParameterSampling
from azureml.train.hyperdrive import choice
param_sampling = GridParameterSampling( {
        "num_hidden_layers": choice(1, 2, 3),
        "batch_size": choice(16, 32)
    }
)

Bayesovské vzorkování

Bayesian vzorkování je založené na bayesovském optimalizačním algoritmu. Vybere vzorky na základě toho, jak se předchozí vzorky provedly, aby nové vzorky zlepšily primární metriku.

Bayesian vzorkování se doporučuje, pokud máte dostatečný rozpočet na prozkoumání prostoru hyperparametrů. Pro dosažení nejlepších výsledků doporučujeme maximální počet spuštění větší než nebo rovna 20násobku počtu vyladěných hyperparametrů.

Počet souběžných spuštění má vliv na efektivitu procesu ladění. Menší počet souběžných spuštění může vést k lepší konvergenci vzorkování, protože menší stupeň paralelismu zvyšuje počet spuštění, která mají prospěch z dříve dokončených spuštění.

Bayesian vzorkování podporuje choicepouze , uniforma quniform rozdělení přes vyhledávací prostor.

from azureml.train.hyperdrive import BayesianParameterSampling
from azureml.train.hyperdrive import uniform, choice
param_sampling = BayesianParameterSampling( {
        "learning_rate": uniform(0.05, 0.1),
        "batch_size": choice(16, 32, 64, 128)
    }
)

Určení primární metriky

Zadejte primární metriku, kterou chcete optimalizovat laděním hyperparametrů. Každé trénovací spuštění se vyhodnocuje pro primární metriku. Zásady předčasného ukončení používají primární metriku k identifikaci spuštění s nízkým výkonem.

Zadejte následující atributy pro primární metriku:

  • primary_metric_name: Název primární metriky musí přesně odpovídat názvu metriky zaprotokolované trénovacím skriptem.
  • primary_metric_goal: Může to být buď PrimaryMetricGoal.MAXIMIZE nebo PrimaryMetricGoal.MINIMIZE a určuje, jestli se primární metrika při vyhodnocování spuštění maximalizuje nebo minimalizuje.
primary_metric_name="accuracy",
primary_metric_goal=PrimaryMetricGoal.MAXIMIZE

Tato ukázka maximalizuje "přesnost".

Metriky protokolů pro ladění hyperparametrů

Trénovací skript pro váš model musí během trénování modelu protokolovat primární metriku, aby k ní mohl HyperDrive přistupovat pro ladění hyperparametrů.

Pomocí následujícího ukázkového fragmentu kódu zapište do trénovacího skriptu primární metriku:

from azureml.core.run import Run
run_logger = Run.get_context()
run_logger.log("accuracy", float(val_accuracy))

Trénovací skript vypočítá a zaprokoluje val_accuracy ho jako primární metriku "přesnost". Pokaždé, když se metrika zaprotokoluje, přijímá ji služba ladění hyperparametrů. Záleží na vás, abyste určili četnost generování sestav.

Další informace o protokolování hodnot v trénovacích spuštěních modelu najdete v tématu Povolení protokolování v trénovacích spuštěních služby Azure Machine Learning.

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

Automatické ukončení neúspěšných spuštění pomocí zásad předčasného ukončení. Předčasné ukončení zlepšuje výpočetní efektivitu.

Můžete nakonfigurovat následující parametry, které řídí, kdy se zásady použijí:

  • evaluation_interval: četnost použití zásady. Pokaždé, když trénovací skript zaznamená do protokolu primární metriku, počítá se jako jeden interval. Zásada se evaluation_interval použije vždy, když trénovací skript hlásí primární metriku. Zásada se evaluation_interval použije vždy při každém druhém použití. Pokud nezadáte, evaluation_interval nastaví se ve výchozím nastavení na hodnotu 1.
  • delay_evaluation: zpožďuje první vyhodnocení zásad pro zadaný počet intervalů. Jedná se o volitelný parametr, který zabraňuje předčasnému ukončení trénovacích spuštění tím, že umožňuje spuštění všech konfigurací v minimálním počtu intervalů. Pokud je zadáno, zásada použije každý násobek evaluation_interval, který je větší nebo roven delay_evaluation.

Azure Machine Learning podporuje následující zásady předčasného ukončení:

Zásady bandit

Zásady bandit jsou založené na množství a intervalu vyhodnocení slack factor/slack. Bandit ukončí spuštění v případě, že primární metrika není v rámci zadaného faktoru slack/slack množství nejúspěšnějšího spuštění.

Poznámka:

Bayesian vzorkování nepodporuje předčasné ukončení. Při použití bayesského vzorkování nastavte early_termination_policy = None.

Zadejte následující parametry konfigurace:

  • slack_factor nebo slack_amount: časová rezerva povolena s ohledem na nejvýkonnější trénovací běh. slack_factor určuje povolenou časovou rezervu jako poměr. slack_amount určuje povolenou časovou rezervu jako absolutní částku místo poměru.

    Představte si například zásadu Bandit použitou v intervalu 10. Předpokládejme, že nejlepší spuštění v intervalu 10 hlášené primární metriky je 0,8 s cílem maximalizovat primární metriku. Pokud zásada určuje slack_factor hodnotu 0,2, ukončí se všechna trénovací spuštění, jejichž nejlepší metrika v intervalu 10 je menší než 0,66 (0,8/(1+slack_factor)).

  • evaluation_interval: (volitelné) četnost použití zásady

  • delay_evaluation: (volitelné) zpožďuje první vyhodnocení zásad pro zadaný počet intervalů.

from azureml.train.hyperdrive import BanditPolicy
early_termination_policy = BanditPolicy(slack_factor = 0.1, evaluation_interval=1, delay_evaluation=5)

V tomto příkladu se zásady předčasného ukončení použijí při každém intervalu, kdy se hlásí metriky počínaje intervalem vyhodnocení 5. Všechna spuštění, jejichž nejlepší metrika je menší než (1/(1+0,1) nebo 91 % nejlepšího spuštění, se ukončí.

Zásady zastavení mediánu

Zastavení mediánu je zásada předčasného ukončení založená na průměrech primárních metrik hlášených spuštěním. Tato zásada vypočítá průměry spuštění napříč všemi trénovacími běhy a zastaví spuštění, jejichž primární hodnota metriky je horší než medián průměrů.

Tato zásada přebírá následující parametry konfigurace:

  • evaluation_interval: frekvence použití zásady (volitelný parametr).
  • delay_evaluation: zpožďuje první vyhodnocení zásad pro zadaný počet intervalů (volitelný parametr).
from azureml.train.hyperdrive import MedianStoppingPolicy
early_termination_policy = MedianStoppingPolicy(evaluation_interval=1, delay_evaluation=5)

V tomto příkladu se zásady předčasného ukončení použijí v každém intervalu počínaje intervalem vyhodnocení 5. Spuštění je zastaveno v intervalu 5, pokud je její nejlepší primární metrika horší než medián průměrů spuštění v intervalech 1:5 napříč všemi trénovacími běhy.

Zásady výběru zkrácení

Výběr zkrácení zruší procento spuštění s nejnižším výkonem v každém intervalu vyhodnocení. Spuštění se porovnávají pomocí primární metriky.

Tato zásada přebírá následující parametry konfigurace:

  • truncation_percentage: procento spuštění s nejnižším výkonem, které se má ukončit v každém intervalu vyhodnocení. Celočíselná hodnota mezi 1 a 99.
  • evaluation_interval: (volitelné) četnost použití zásady
  • delay_evaluation: (volitelné) zpožďuje první vyhodnocení zásad pro zadaný počet intervalů.
  • exclude_finished_jobs: Určuje, jestli se mají při použití zásady vyloučit dokončené úlohy.
from azureml.train.hyperdrive import TruncationSelectionPolicy
early_termination_policy = TruncationSelectionPolicy(evaluation_interval=1, truncation_percentage=20, delay_evaluation=5, exclude_finished_jobs=true)

V tomto příkladu se zásady předčasného ukončení použijí v každém intervalu počínaje intervalem vyhodnocení 5. Spuštění se ukončí v intervalu 5, pokud je jeho výkon v intervalu 5 v nejnižším 20 % výkonu všech spuštění v intervalu 5 a při použití zásady vyloučí dokončené úlohy.

Žádné zásady ukončení (výchozí)

Pokud není zadána žádná zásada, služba ladění hyperparametrů umožňuje spuštění všech trénovacích spuštění do dokončení.

policy=None

Výběr zásad předčasného ukončení

  • Pro konzervativní politiku, která poskytuje úspory bez ukončení slibných pracovních míst, zvažte medián zastavení zásad s evaluation_interval 1 a delay_evaluation 5. Jedná se o konzervativní nastavení, která můžou poskytnout přibližně 25%-35% úspory bez ztráty na primární metrice (na základě našich dat vyhodnocení).
  • Pokud chcete agresivnější úspory, použijte zásadu bandit s menší povolenou časovou rezervou nebo zásadou výběru zkrácení s větším procentem zkrácení.

Vytváření a přiřazování prostředků

Rozpočet zdrojů můžete řídit zadáním maximálního počtu trénovacích spuštění.

  • max_total_runs: Maximální počet trénovacích běhů. Musí být celé číslo od 1 do 1000.
  • max_duration_minutes: (volitelné) Maximální doba trvání experimentu ladění hyperparametrů v minutách. Po zrušení této doby se spustí.

Poznámka:

Pokud je zadáno obojí max_total_runs a max_duration_minutes jsou zadány, experiment ladění hyperparametrů se ukončí při dosažení první z těchto dvou prahových hodnot.

Kromě toho zadejte maximální počet trénovacích spuštění, která se mají spustit souběžně během hledání ladění hyperparametrů.

  • max_concurrent_runs: (volitelné) Maximální počet spuštění, která se dají spustit souběžně. Pokud není zadáno, spustí se všechna spuštění paralelně. Pokud je zadáno, musí být celé číslo od 1 do 100.

Poznámka:

Počet souběžných spuštění se hradí u prostředků dostupných v zadaném cílovém výpočetním objektu. Ujistěte se, že cílový výpočetní objekt má dostupné prostředky pro požadovanou souběžnost.

max_total_runs=20,
max_concurrent_runs=4

Tento kód nakonfiguruje experiment ladění hyperparametrů tak, aby používal maximálně 20 celkových spuštění a spustil čtyři konfigurace najednou.

Konfigurace experimentu ladění hyperparametrů

Pokud chcete nakonfigurovat experiment ladění hyperparametrů, zadejte následující:

  • Definovaný vyhledávací prostor hyperparametrů
  • Vaše zásady předčasného ukončení
  • Primární metrika
  • Nastavení přidělení prostředků
  • ScriptRunConfig script_run_config

ScriptRunConfig je trénovací skript, který se spouští s ukázkovými hyperparametry. Definuje prostředky na úlohu (jeden nebo více uzlů) a cílový výpočetní objekt, který se má použít.

Poznámka:

Cílový výpočetní objekt použitý v script_run_config musí mít dostatek prostředků, aby splňoval vaši úroveň souběžnosti. Další informace o ScriptRunConfig naleznete v tématu Konfigurace trénovacích spuštění.

Nakonfigurujte experiment ladění hyperparametrů:

from azureml.train.hyperdrive import HyperDriveConfig
from azureml.train.hyperdrive import RandomParameterSampling, BanditPolicy, uniform, PrimaryMetricGoal

param_sampling = RandomParameterSampling( {
        'learning_rate': uniform(0.0005, 0.005),
        'momentum': uniform(0.9, 0.99)
    }
)

early_termination_policy = BanditPolicy(slack_factor=0.15, evaluation_interval=1, delay_evaluation=10)

hd_config = HyperDriveConfig(run_config=script_run_config,
                             hyperparameter_sampling=param_sampling,
                             policy=early_termination_policy,
                             primary_metric_name="accuracy",
                             primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                             max_total_runs=100,
                             max_concurrent_runs=4)

Nastaví HyperDriveConfig parametry předané do souboru ScriptRunConfig script_run_config. Následně script_run_configpředá parametry trénovacímu skriptu. Výše uvedený fragment kódu je převzat z ukázkového poznámkového bloku Train, hyperparameter tune a deploy with PyTorch. V této ukázce learning_rate momentum budou parametry vyladěny. Počáteční zastavení spuštění bude určeno spuštěním BanditPolicy, které zastaví spuštění, jehož primární metrika spadá mimo ( slack_factor viz odkaz na třídu BanditPolicy).

Následující kód z ukázky ukazuje, jak se přijímají, parsují a předávají hodnoty do funkce trénovacího skriptu fine_tune_model :

# from pytorch_train.py
def main():
    print("Torch version:", torch.__version__)

    # get command-line arguments
    parser = argparse.ArgumentParser()
    parser.add_argument('--num_epochs', type=int, default=25,
                        help='number of epochs to train')
    parser.add_argument('--output_dir', type=str, help='output directory')
    parser.add_argument('--learning_rate', type=float,
                        default=0.001, help='learning rate')
    parser.add_argument('--momentum', type=float, default=0.9, help='momentum')
    args = parser.parse_args()

    data_dir = download_data()
    print("data directory is: " + data_dir)
    model = fine_tune_model(args.num_epochs, data_dir,
                            args.learning_rate, args.momentum)
    os.makedirs(args.output_dir, exist_ok=True)
    torch.save(model, os.path.join(args.output_dir, 'model.pt'))

Důležité

Každé spuštění hyperparametrů restartuje trénování úplně od začátku, včetně opětovného sestavení modelu a všech zavaděčů dat. Tyto náklady můžete minimalizovat pomocí kanálu služby Azure Machine Learning nebo ručního procesu, který vám umožní co nejvíce přípravy dat před trénovacími běhy.

Odeslání experimentu ladění hyperparametrů

Po definování konfigurace ladění hyperparametrů odešlete experiment:

from azureml.core.experiment import Experiment
experiment = Experiment(workspace, experiment_name)
hyperdrive_run = experiment.submit(hd_config)

Ladění hyperparametrů teplého startu (volitelné)

Nalezení nejlepších hodnot hyperparametrů pro váš model může být iterativní proces. Ke zrychlení ladění hyperparametrů můžete použít znalosti z pěti předchozích spuštění.

Teplé spouštění se zpracovává jinak v závislosti na metodě vzorkování:

  • Bayesian vzorkování: Pokusy z předchozího spuštění se používají jako předchozí znalosti k výběru nových vzorků a ke zlepšení primární metriky.
  • Náhodné vzorkování nebo vzorkování mřížky: Předčasné ukončení používá znalosti z předchozích spuštění k určení špatně výkonných spuštění.

Zadejte seznam nadřazených spuštění, od kterého chcete začít.

from azureml.train.hyperdrive import HyperDriveRun

warmstart_parent_1 = HyperDriveRun(experiment, "warmstart_parent_run_ID_1")
warmstart_parent_2 = HyperDriveRun(experiment, "warmstart_parent_run_ID_2")
warmstart_parents_to_resume_from = [warmstart_parent_1, warmstart_parent_2]

Pokud je experiment ladění hyperparametrů zrušený, můžete pokračovat v trénování z posledního kontrolního bodu. Váš trénovací skript ale musí zpracovávat logiku kontrolních bodů.

Trénovací běh musí používat stejnou konfiguraci hyperparametrů a připojit výstupní složky. Trénovací skript musí přijmout resume-from argument, který obsahuje soubory kontrolního bodu nebo modelu, ze kterých chcete obnovit trénovací běh. Jednotlivé trénovací běhy můžete obnovit pomocí následujícího fragmentu kódu:

from azureml.core.run import Run

resume_child_run_1 = Run(experiment, "resume_child_run_ID_1")
resume_child_run_2 = Run(experiment, "resume_child_run_ID_2")
child_runs_to_resume = [resume_child_run_1, resume_child_run_2]

Experiment ladění hyperparametrů můžete nakonfigurovat tak, aby se zahříval z předchozího experimentu, nebo můžete pokračovat v jednotlivých trénovacích spuštěních pomocí volitelných parametrů resume_from a resume_child_runs v konfiguraci:

from azureml.train.hyperdrive import HyperDriveConfig

hd_config = HyperDriveConfig(run_config=script_run_config,
                             hyperparameter_sampling=param_sampling,
                             policy=early_termination_policy,
                             resume_from=warmstart_parents_to_resume_from,
                             resume_child_runs=child_runs_to_resume,
                             primary_metric_name="accuracy",
                             primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                             max_total_runs=100,
                             max_concurrent_runs=4)

Vizualizace spuštění ladění hyperparametrů

Ladění hyperparametrů můžete vizualizovat v studio Azure Machine Learning nebo můžete použít widget poznámkového bloku.

Studio

Všechny spuštění ladění hyperparametrů můžete vizualizovat v studio Azure Machine Learning. Další informace o zobrazení experimentu na portálu najdete v tématu Zobrazení záznamů spuštění v sadě Studio.

  • Graf metrik: Tato vizualizace sleduje metriky protokolované pro každou podřízenou hyperdrive spuštěnou po dobu trvání ladění hyperparametrů. Každý řádek představuje podřízené spuštění a každý bod měří primární hodnotu metriky v dané iteraci modulu runtime.

    Graf metrik ladění hyperparametrů

  • Graf paralelních souřadnic: Tato vizualizace ukazuje korelaci mezi výkonem primární metriky a hodnotami jednotlivých hyperparametrů. Graf je interaktivní pohybem os (výběr a přetažení popiskem osy) a zvýrazněním hodnot přes jednu osu (výběr a přetažením svisle podél jedné osy zvýrazníte rozsah požadovaných hodnot). Graf paralelních souřadnic obsahuje osu v pravé části grafu, která vykreslí nejlepší hodnotu metriky odpovídající hyperparametrům nastaveným pro danou instanci spuštění. Tato osa je k dispozici, aby bylo možné promítnout legendu přechodu grafu na data čitelnějším způsobem.

    Graf paralelních souřadnic ladění hyperparametrů

  • Dvourozměrný bodový graf: Tato vizualizace zobrazuje korelaci mezi dvěma jednotlivými hyperparametry spolu s přidruženou primární hodnotou metriky.

    Ladění 2rozměrného bodového grafu hyparametrem

  • Prostorový bodový graf: Tato vizualizace je stejná jako 2D, ale umožňuje tři dimenze hyperparametrů korelace s primární hodnotou metriky. Můžete také vybrat a přetáhnout graf tak, aby se zobrazily různé korelace v 3D prostoru.

    Ladění hyparametrů s prostorovým bodovým grafem

Widget poznámkového bloku

Pomocí widgetu Poznámkový blok můžete vizualizovat průběh trénovacích běhů. Následující fragment kódu vizualizuje všechny vaše ladění hyperparametrů na jednom místě v poznámkovém bloku Jupyter:

from azureml.widgets import RunDetails
RunDetails(hyperdrive_run).show()

Tento kód zobrazí tabulku s podrobnostmi o trénovacích spuštěních pro každou konfiguraci hyperparametrů.

Tabulka ladění hyperparametrů

Můžete také vizualizovat výkon jednotlivých spuštění při průběhu trénování.

Vyhledání nejlepšího modelu

Po dokončení všech spuštění ladění hyperparametrů identifikujte hodnoty konfigurace a hyperparametrů s nejlepším výkonem:

best_run = hyperdrive_run.get_best_run_by_primary_metric()
best_run_metrics = best_run.get_metrics()
parameter_values = best_run.get_details()['runDefinition']['arguments']

print('Best Run Id: ', best_run.id)
print('\n Accuracy:', best_run_metrics['accuracy'])
print('\n learning rate:',parameter_values[3])
print('\n keep probability:',parameter_values[5])
print('\n batch size:',parameter_values[7])

Ukázkový poznámkový blok

Projděte si poznámkové bloky train-hyperparameter-* v této složce:

Postupujte podle pokynů v článku věnovaném využití poznámkových bloků Jupyter k prozkoumání této služby a zjistěte, jak provozovat poznámkové bloky.

Další kroky