Modell hiperparaméter-finomhangolása (v2)

A KÖVETKEZŐKRE VONATKOZIK:Azure CLI ml-bővítmény v2 (aktuális)Python SDK azure-ai-ml v2 (aktuális)

Automatizálhatja a hatékony hiperparaméter-finomhangolást az Azure Machine Learning SDK v2 és a CLI v2 használatával a SweepJob típussal.

  1. A próbaverzió paraméteres keresési helyének meghatározása
  2. Adja meg a takarítási feladat mintavételezési algoritmusát
  3. Adja meg az optimalizálni kívánt célt
  4. Korai leállítási szabályzat megadása alacsony teljesítményű feladatokhoz
  5. A takarítási feladat korlátainak meghatározása
  6. Kísérlet indítása a megadott konfigurációval
  7. A betanítási feladatok megjelenítése
  8. Válassza ki a modellhez legmegfelelőbb konfigurációt

Mi az a hiperparaméter-finomhangolás?

A hiperparaméterek állítható paraméterek, amelyek lehetővé teszik a modell betanítási folyamatának szabályozását. Neurális hálózatok esetén például ön dönti el a rejtett rétegek számát és az egyes rétegekben lévő csomópontok számát. A modell teljesítménye nagymértékben függ a hiperparamétertől.

A hiperparaméterek finomhangolása, más néven hiperparaméter-optimalizálás, a legjobb teljesítményt eredményező hiperparaméterek konfigurációjának megkeresése. A folyamat általában költséges és manuális.

Az Azure Machine Learning lehetővé teszi a hiperparaméterek finomhangolásának automatizálását és kísérletek párhuzamos futtatását a hiperparaméterek hatékony optimalizálása érdekében.

A keresési terület meghatározása

Hangolja a hiperparamétereket az egyes hiperparaméterekhez meghatározott értékek tartományának vizsgálatával.

A hiperparaméterek lehetnek különállóak vagy folyamatosak, és egy paraméterkifejezés által leírt értékek eloszlásával rendelkeznek.

Különálló hiperparaméterek

A különálló hiperparaméterek a különálló értékek között vannak megadva Choice . Choice a következő lehet:

  • egy vagy több vesszővel tagolt érték
  • objektum range
  • list tetszőleges objektum
from azure.ai.ml.sweep import Choice

command_job_for_sweep = command_job(
    batch_size=Choice(values=[16, 32, 64, 128]),
    number_of_hidden_layers=Choice(values=range(1,5)),
)

Ebben az esetben batch_size az egyik érték [16, 32, 64, 128] és number_of_hidden_layers az egyik értéket veszi fel [1, 2, 3, 4].

A következő speciális különálló hiperparaméterek is megadhatóak eloszlással:

  • QUniform(min_value, max_value, q) - Olyan értéket ad vissza, mint a round(Uniform(min_value, max_value) / q) * q
  • QLogUniform(min_value, max_value, q) - Olyan értéket ad vissza, mint a round(exp(Uniform(min_value, max_value)) / q) * q
  • QNormal(mu, sigma, q) - Olyan értéket ad vissza, mint a round(Normal(mu, szigma) / q) * q
  • QLogNormal(mu, sigma, q) - Olyan értéket ad vissza, mint a round(exp(Normal(mu, szigma)) / q) * q

Folyamatos hiperparaméterek

A Folyamatos hiperparaméterek eloszlásként vannak megadva egy folyamatos értéktartományon keresztül:

  • Uniform(min_value, max_value) – A min_value és max_value között egyenletesen elosztott értéket ad vissza.
  • LogUniform(min_value, max_value) - Az exp(Uniform(min_value, max_value)) szerint rajzolt értéket ad vissza, hogy a visszatérési érték logaritmusa egységesen legyen elosztva
  • Normal(mu, sigma) - Egy valós értéket ad vissza, amely általában a mu középértékkel és a szórás szigmával van elosztva
  • LogNormal(mu, sigma) - Az exp(Normal(mu, sigma)) szerint megrajzolt értéket ad vissza, hogy a visszatérési érték logaritmusa normális eloszlású legyen

Példa paramétertérdefinícióra:

from azure.ai.ml.sweep import Normal, Uniform

command_job_for_sweep = command_job(   
    learning_rate=Normal(mu=10, sigma=3),
    keep_probability=Uniform(min_value=0.05, max_value=0.1),
)

Ez a kód egy keresési területet határoz meg két paraméterrel : learning_rate és keep_probability. learning_rate normális eloszlása 10 középértékkel és 3 szórással rendelkezik. keep_probability legalább 0,05 és legfeljebb 0,1 értékkel rendelkezik.

A parancssori felülethez használhatja a takarítási feladat YAML-sémáját a keresési terület YAML-ben való meghatározásához:

    search_space:
        conv_size:
            type: choice
            values: [2, 5, 7]
        dropout_rate:
            type: uniform
            min_value: 0.1
            max_value: 0.2

A hiperparaméter-terület mintavételezése

Adja meg a hiperparaméter-területen használandó paraméterminta-módszert. Az Azure Machine Learning a következő módszereket támogatja:

  • Véletlenszerű mintavételezés
  • Rácsos mintavételezés
  • Bayes-féle mintavételezés

Véletlenszerű mintavételezés

A véletlenszerű mintavételezés támogatja a különálló és folyamatos hiperparamétereket. Támogatja az alacsony teljesítményű feladatok korai leállítását. Egyes felhasználók véletlenszerű mintavételezéssel végeznek kezdeti keresést, majd finomítják a keresési területet a találatok javítása érdekében.

Véletlenszerű mintavételezés esetén a hiperparaméter-értékek véletlenszerűen vannak kiválasztva a megadott keresési területből. A parancsfeladat létrehozása után a takarítási paraméter használatával definiálhatja a mintavételezési algoritmust.

from azure.ai.ml.sweep import Normal, Uniform, RandomParameterSampling

command_job_for_sweep = command_job(   
    learning_rate=Normal(mu=10, sigma=3),
    keep_probability=Uniform(min_value=0.05, max_value=0.1),
    batch_size=Choice(values=[16, 32, 64, 128]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "random",
    ...
)

Sobol

A Sobol a véletlenszerű mintavételezés egy típusa, amelyet a takarítási feladatok típusai támogatnak. A sobol használatával reprodukálhatja az eredményeket mag használatával, és egyenletesebben fedheti le a keresési terület eloszlását.

A sobol használatához használja a RandomParameterSampling osztályt a mag és a szabály hozzáadásához az alábbi példában látható módon.

from azure.ai.ml.sweep import RandomParameterSampling

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = RandomParameterSampling(seed=123, rule="sobol"),
    ...
)

Rácsos mintavételezés

A rácsos mintavételezés támogatja a különálló hiperparamétereket. Használjon rácsos mintavételezést, ha költségvetéssel teljes körűen kereshet a keresési területen. Támogatja az alacsony teljesítményű feladatok korai leállítását.

A rácsos mintavételezés egyszerű rácskeresést végez az összes lehetséges értéken. A rácsos mintavételezés csak hiperparaméterekkel choice használható. A következő tér például hat mintával rendelkezik:

from azure.ai.ml.sweep import Choice

command_job_for_sweep = command_job(
    batch_size=Choice(values=[16, 32]),
    number_of_hidden_layers=Choice(values=[1,2,3]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "grid",
    ...
)

Bayes-féle mintavételezés

A Bayes-féle mintavételezés a Bayes-féle optimalizálási algoritmuson alapul. A korábbi minták alapján választja ki a mintákat, hogy az új minták javíthassák az elsődleges metrikát.

A Bayes-mintavételezést akkor javasoljuk, ha elegendő költségvetése van a hiperparaméter-tér felfedezéséhez. A legjobb eredmény érdekében a hangolt hiperparaméterek számának legfeljebb 20-szorosát javasoljuk.

Az egyidejű feladatok száma hatással van a hangolási folyamat hatékonyságára. Az egyidejű feladatok kisebb száma jobb mintavételezési konvergenciához vezethet, mivel a kisebb párhuzamosság növeli a korábban befejezett feladatok előnyeit élvező feladatok számát.

A Bayes-mintavételezés csak a , uniforma és quniform a eloszlást támogatja choicea keresési területen.

from azure.ai.ml.sweep import Uniform, Choice

command_job_for_sweep = command_job(   
    learning_rate=Uniform(min_value=0.05, max_value=0.1),
    batch_size=Choice(values=[16, 32, 64, 128]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "bayesian",
    ...
)

A takarítás céljának megadása

Határozza meg a takarítási feladat célját az optimalizálni kívánt elsődleges metrika és cél megadásával. A rendszer minden betanítási feladatot kiértékel az elsődleges metrika alapján. A korai felmondási szabályzat az elsődleges metrikával azonosítja az alacsony teljesítményű feladatokat.

  • primary_metric: Az elsődleges metrika nevének pontosan meg kell egyeznie a betanítási szkript által naplózott metrika nevével
  • goal: Vagy lehet MaximizeMinimize , és meghatározza, hogy az elsődleges metrika teljes méretűre vagy minimálisra lesz-e állítva a feladatok kiértékelésekor.
from azure.ai.ml.sweep import Uniform, Choice

command_job_for_sweep = command_job(   
    learning_rate=Uniform(min_value=0.05, max_value=0.1),
    batch_size=Choice(values=[16, 32, 64, 128]),
)

sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm = "bayesian",
    primary_metric="accuracy",
    goal="Maximize",
)

Ez a minta maximalizálja a "pontosságot".

Naplómetrikák hiperparaméter-finomhangoláshoz

A modell betanítási szkriptjének naplóznia kell az elsődleges metrikát a modell betanítása során ugyanazzal a metrikanévvel, hogy a SweepJob hozzáférhessen a hiperparaméter-finomhangoláshoz.

Naplózza az elsődleges metrikát a betanítási szkriptben a következő mintarészlettel:

import mlflow
mlflow.log_metric("accuracy", float(val_accuracy))

A betanítási szkript kiszámítja a val_accuracy értéket, és naplózza elsődleges metrikaként "pontosságként". A metrika minden naplózásakor a hiperparaméter-finomhangolási szolgáltatás fogadja. Ön határozza meg a jelentéskészítés gyakoriságát.

További információ a betanítási feladatok naplózási értékeiről: Naplózás engedélyezése az Azure Machine Learning-betanítási feladatokban.

Korai felmondási szabályzat megadása

Automatikusan befejezi a rosszul teljesítő feladatokat egy korai felmondási szabályzattal. A korai leállítás javítja a számítási hatékonyságot.

A szabályzat alkalmazásakor a következő paramétereket konfigurálhatja:

  • evaluation_interval: a szabályzat alkalmazásának gyakorisága. Minden alkalommal, amikor a betanítási szkript naplózza az elsődleges metrikákat, egy intervallumnak számít. Az evaluation_interval 1-ből egy minden alkalommal alkalmazza a szabályzatot, amikor a betanítási szkript az elsődleges metrikát jelenti. A evaluation_interval 2-ből egy minden második alkalommal alkalmazza a szabályzatot. Ha nincs megadva, evaluation_interval a értéke alapértelmezés szerint 0.
  • delay_evaluation: késlelteti az első szabályzat kiértékelését egy megadott számú időközre. Ez egy opcionális paraméter, amely elkerüli a betanítási feladatok idő előtti leállítását azáltal, hogy az összes konfigurációt minimális számú időközig futtatja. Ha meg van adva, a szabályzat a evaluation_interval minden olyan többszörösét alkalmazza, amely nagyobb vagy egyenlő delay_evaluation. Ha nincs megadva, delay_evaluation alapértelmezés szerint 0 értékre van állítva.

Az Azure Machine Learning a következő korai felmondási szabályzatokat támogatja:

Bandit szabályzat

A bandit szabályzat a tartalékidő-tényezőn/tartalékidőn és a kiértékelési időközön alapul. A Bandit-szabályzat befejez egy feladatot, ha az elsődleges metrika nem a legsikeresebb feladat megadott tartalékidő-/tartalékidő-mennyiségén belül van.

Adja meg a következő konfigurációs paramétereket:

  • slack_factor vagy slack_amount: a legjobban teljesítő betanítási feladat tekintetében engedélyezett tartalékidő. slack_factor az engedélyezett tartalékidőt adja meg arányként. slack_amount a megengedett tartalékidőt abszolút összegként adja meg az arány helyett.

    Vegyük például egy 10-edik intervallumban alkalmazott Bandit-szabályzatot. Tegyük fel, hogy az elsődleges metrika által jelentett 10 időközben a legjobban teljesítő feladat 0,8, amelynek célja az elsődleges metrika maximalizálása. Ha a szabályzat 0,2 értéket ad meg slack_factor , a rendszer leáll minden olyan betanítási feladat, amelynek a legjobb metrikája 10-nél kisebb, mint 0,66 (0,8/(1+slack_factor)).

  • evaluation_interval: (nem kötelező) a szabályzat alkalmazásának gyakorisága

  • delay_evaluation: (nem kötelező) késlelteti az első szabályzat kiértékelését egy megadott számú időköz esetén

from azure.ai.ml.sweep import BanditPolicy
sweep_job.early_termination = BanditPolicy(slack_factor = 0.1, delay_evaluation = 5, evaluation_interval = 1)

Ebben a példában a korai megszüntetési szabályzatot a rendszer a metrikák jelentésekor minden időközönként alkalmazza, az 5. értékelési időköztől kezdve. Minden olyan feladat leáll, amelynek a legjobb metrikája kisebb, mint (1/(1+0,1) vagy a legjobban teljesítő feladatok 91%-a.

Medián leállítási szabályzat

A medián leállítás egy korai leállítási szabályzat, amely a feladatok által jelentett elsődleges metrikák futási átlagán alapul. Ez a szabályzat az összes betanítási feladat átlagát számítja ki, és leállítja azokat a feladatokat, amelyek elsődleges metrikaértéke rosszabb, mint az átlagok mediánja.

Ez a szabályzat a következő konfigurációs paramétereket használja:

  • evaluation_interval: a szabályzat alkalmazásának gyakorisága (nem kötelező paraméter).
  • delay_evaluation: késlelteti az első szabályzat kiértékelését egy megadott számú időközre (nem kötelező paraméter).
from azure.ai.ml.sweep import MedianStoppingPolicy
sweep_job.early_termination = MedianStoppingPolicy(delay_evaluation = 5, evaluation_interval = 1)

Ebben a példában a korai felmondási szabályzatot a rendszer minden, az 5. értékelési időköztől kezdődő időközönként alkalmazza. A feladat 5-ös időközönként leáll, ha a legjobb elsődleges metrika rosszabb, mint a futó átlagok mediánja az összes betanítási feladat 1:5-ös időközével.

Csonkítás kiválasztási szabályzata

A csonkítás kiválasztása az egyes kiértékelési időközökben a legalacsonyabban teljesítő feladatok százalékos arányát szünteti meg. a feladatokat az elsődleges metrika alapján hasonlítjuk össze.

Ez a szabályzat a következő konfigurációs paramétereket használja:

  • truncation_percentage: a legalacsonyabb teljesítményt nyújtó feladatok százalékos aránya az egyes kiértékelési időközökben. 1 és 99 közötti egész szám.
  • evaluation_interval: (nem kötelező) a szabályzat alkalmazásának gyakorisága
  • delay_evaluation: (nem kötelező) késlelteti az első szabályzat kiértékelését egy megadott számú időköz esetén
  • exclude_finished_jobs: meghatározza, hogy ki kell-e zárni a befejezett feladatokat a szabályzat alkalmazásakor
from azure.ai.ml.sweep import TruncationSelectionPolicy
sweep_job.early_termination = TruncationSelectionPolicy(evaluation_interval=1, truncation_percentage=20, delay_evaluation=5, exclude_finished_jobs=true)

Ebben a példában a korai felmondási szabályzatot a rendszer minden, az 5. értékelési időköztől kezdődő időközönként alkalmazza. A feladatok 5-ös időközzel fejeződnek be, ha az 5. időközi teljesítmény az összes feladat teljesítményének 5. időközben a legalacsonyabb 20%-a, és kizárja a befejezett feladatokat a szabályzat alkalmazásakor.

Nincs felmondási szabályzat (alapértelmezett)

Ha nincs megadva szabályzat, a hiperparaméter-finomhangolási szolgáltatás lehetővé teszi, hogy az összes betanítási feladat befejeződjön.

sweep_job.early_termination = None

Korai felmondási szabályzat kiválasztása

  • Az ígéretes feladatok megszüntetése nélkül megtakarítást biztosító konzervatív szabályzatok esetében fontolja meg az 1-5-ös evaluation_interval mediánmegállási delay_evaluation szabályzatot. Ezek olyan konzervatív beállítások, amelyek körülbelül 25–35%-os megtakarítást biztosítanak az elsődleges metrika elvesztése nélkül (a kiértékelési adatok alapján).
  • Az agresszívebb megtakarítás érdekében használja a Bandit Policyt kisebb engedélyezett tartalékidővel vagy csonkolási kijelölési szabályzattal, nagyobb csonkítási százalékkal.

A takarítási feladat korlátainak beállítása

A takarítási feladat korlátainak beállításával szabályozhatja az erőforrás-költségvetést.

  • max_total_trials: Próbafeladatok maximális száma. 1 és 1000 közötti egész számnak kell lennie.
  • max_concurrent_trials: (nem kötelező) Az egyidejűleg futtatható próbafeladatok maximális száma. Ha nincs megadva, max_total_trials feladatok száma párhuzamosan indul el. Ha meg van adva, 1 és 1000 közötti egész számnak kell lennie.
  • timeout: A teljes takarítási feladat futásának maximális időtartama másodpercben. A korlát elérése után a rendszer megszakítja a takarítási feladatot, beleértve az összes próbaverzióját is.
  • trial_timeout: Az egyes próbafeladatok maximális futási ideje másodpercben. A korlát elérése után a rendszer megszakítja a próbaverziót.

Megjegyzés

Ha a max_total_trials és az időtúllépés is meg van adva, a hiperparaméter-finomhangolási kísérlet a két küszöbérték közül az első elérésekor fejeződik be.

Megjegyzés

Az egyidejű próbafeladatok száma a megadott számítási célban elérhető erőforrásokon van meghatározva. Győződjön meg arról, hogy a számítási cél rendelkezik a kívánt egyidejűséghez elérhető erőforrásokkal.

sweep_job.set_limits(max_total_trials=20, max_concurrent_trials=4, timeout=1200)

Ez a kód úgy konfigurálja a hiperparaméter-finomhangolási kísérletet, hogy legfeljebb 20 próbafeladatot használjon, és egyszerre négy próbafeladatot futtasson 1200 másodperces időtúllépéssel a teljes takarítási feladathoz.

Hiperparaméter-finomhangolási kísérlet konfigurálása

A hiperparaméter-finomhangolási kísérlet konfigurálásához adja meg a következőket:

  • A definiált hiperparaméter-keresési terület
  • A mintavételezési algoritmus
  • Az Ön korai felmondási szabályzata
  • Az Ön célja
  • Erőforráskorlátok
  • CommandJob vagy CommandComponent
  • Takarítási feladat

A SweepJob hyperparaméter-takarítást futtathat a parancs- vagy parancsösszetevőn.

Megjegyzés

A használt sweep_job számítási célnak elegendő erőforrással kell rendelkeznie az egyidejűségi szint kielégítéséhez. A számítási célokról további információt a Számítási célok című témakörben talál.

Konfigurálja a hiperparaméter finomhangolási kísérletét:

from azure.ai.ml import MLClient
from azure.ai.ml import command, Input
from azure.ai.ml.sweep import Choice, Uniform, MedianStoppingPolicy
from azure.identity import DefaultAzureCredential

# Create your base command job
command_job = command(
    code="./src",
    command="python main.py --iris-csv ${{inputs.iris_csv}} --learning-rate ${{inputs.learning_rate}} --boosting ${{inputs.boosting}}",
    environment="AzureML-lightgbm-3.2-ubuntu18.04-py37-cpu@latest",
    inputs={
        "iris_csv": Input(
            type="uri_file",
            path="https://azuremlexamples.blob.core.windows.net/datasets/iris.csv",
        ),
        "learning_rate": 0.9,
        "boosting": "gbdt",
    },
    compute="cpu-cluster",
)

# Override your inputs with parameter expressions
command_job_for_sweep = command_job(
    learning_rate=Uniform(min_value=0.01, max_value=0.9),
    boosting=Choice(values=["gbdt", "dart"]),
)

# Call sweep() on your command job to sweep over your parameter expressions
sweep_job = command_job_for_sweep.sweep(
    compute="cpu-cluster",
    sampling_algorithm="random",
    primary_metric="test-multi_logloss",
    goal="Minimize",
)

# Specify your experiment details
sweep_job.display_name = "lightgbm-iris-sweep-example"
sweep_job.experiment_name = "lightgbm-iris-sweep-example"
sweep_job.description = "Run a hyperparameter sweep job for LightGBM on Iris dataset."

# Define the limits for this sweep
sweep_job.set_limits(max_total_trials=20, max_concurrent_trials=10, timeout=7200)

# Set early stopping on this one
sweep_job.early_termination = MedianStoppingPolicy(
    delay_evaluation=5, evaluation_interval=2
)

A command_job függvénynek nevezzük, így a paraméterkifejezéseket alkalmazhatjuk a takarítási bemenetekre. A sweep függvény ezután konfigurálva van a következővel trial: , sampling-algorithm, objective, limits, és compute. A fenti kódrészlet a Hyperparameter-takarítás futtatása parancson vagy CommandComponenten mintajegyzetfüzetből származik. Ebben a mintában a és boosting a learning_rate paraméterek lesznek hangolva. A feladatok korai leállítását egy MedianStoppingPolicy, amely leállítja azt a feladatot, amelynek elsődleges metrikaértéke rosszabb, mint az összes betanítási feladat átlagának mediánja.( lásd : MedianStoppingPolicy osztályhivatkozás).

A paraméterértékek fogadásának, elemzésének és a hangolandó betanítási szkriptnek való átadásának megtekintéséhez tekintse meg ezt a kódmintát.

Fontos

Minden hiperparaméteres takarítási feladat teljesen újraindítja a betanítást, beleértve a modell és az összes adatbetöltő újraépítését. Ezt a költséget minimalizálhatja egy Azure Machine Learning-folyamat vagy manuális folyamat használatával, hogy a lehető legtöbb adat-előkészítést végezze el a betanítási feladatok előtt.

Hiperparaméter-finomhangolási kísérlet elküldése

A hiperparaméter finomhangolási konfigurációjának megadása után küldje el a feladatot:

# submit the sweep
returned_sweep_job = ml_client.create_or_update(sweep_job)
# get a URL for the status of the job
returned_sweep_job.services["Studio"].endpoint

Hiperparaméter-finomhangolási feladatok vizualizációja

Az összes hiperparaméter-finomhangolási feladatot megjelenítheti a Azure Machine Learning stúdió. A kísérletek portálon való megtekintéséről további információt a Feladatrekordok megtekintése a studióban című témakörben talál.

  • Metrikák diagramja: Ez a vizualizáció nyomon követi az egyes hyperdrive-gyermekfeladatokhoz naplózott metrikákat a hiperparaméter finomhangolásának időtartama alatt. Minden sor egy gyermekfeladatot jelöl, és minden pont a futtatókörnyezet adott iterációjában méri az elsődleges metrikaértéket.

    Hiperparaméter-finomhangolási metrikák diagramja

  • Párhuzamos koordináták diagramja: Ez a vizualizáció az elsődleges metrika teljesítménye és az egyes hiperparaméter-értékek közötti korrelációt mutatja. A diagram interaktív a tengelyek mozgatásával (kattintson és húzza a tengely címkéje alapján), és az értékek egyetlen tengelyen való kiemelésével (kattintson és húzza függőlegesen egy tengely mentén a kívánt értékek egy tartományának kiemeléséhez). A párhuzamos koordináták diagramja a diagram jobb szélső részén található tengelyt tartalmazza, amely az adott feladatpéldányhoz beállított hiperparamétereknek megfelelő legjobb metrikaértéket ábrázolja. Ezt a tengelyt úgy biztosítjuk, hogy a diagram színátmeneti jelmagyarázatát olvashatóbb módon kivetítse az adatokra.

    Hiperparaméterek párhuzamos koordinátáinak finomhangolása diagram

  • Kétdimenziós pontdiagram: Ez a vizualizáció megjeleníti a két egyedi hiperparaméter és a hozzájuk tartozó elsődleges metrikaérték közötti korrelációt.

    Hyparameter tuning 2 dimenziós pontdiagram

  • 3 dimenziós pontdiagram: Ez a vizualizáció megegyezik a 2D-vel, de lehetővé teszi az elsődleges metrikaértékkel való korreláció három hiperparaméter-dimenzióját. A diagramot kattintással és húzással is átrendezheti a különböző korrelációk 3D térben való megtekintéséhez.

    Hyparameter tuning 3 dimenziós pontdiagram

A legjobb próbafeladat megkeresése

Miután az összes hiperparaméter-finomhangolási feladat befejeződött, kérje le a legjobb próbakimeneteket:

# Download best trial model output
ml_client.jobs.download(returned_sweep_job.name, output_name="model")

A parancssori felülettel letöltheti a legjobb próbafeladat összes alapértelmezett és nevesített kimenetét, valamint a takarítási feladat naplóit.

az ml job download --name <sweep-job> --all

Igény szerint csak a legjobb próbaverziós kimenet letöltéséhez

az ml job download --name <sweep-job> --output-name model

Hivatkozások

Következő lépések