Schéma YAML úlohy úklidu CLI (v2)

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)

Zdrojové schéma JSON najdete na adrese https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json.

Poznámka:

Syntaxe YAML podrobná v tomto dokumentu je založená na schématu JSON pro nejnovější verzi rozšíření ML CLI v2. Tato syntaxe je zaručena pouze pro práci s nejnovější verzí rozšíření ML CLI v2. Schémata pro starší verze rozšíření najdete na adrese https://azuremlschemasprod.azureedge.net/.

Syntaxe YAML

Klíč Typ Popis Povolené hodnoty Default value
$schema string Schéma YAML. Pokud k vytvoření souboru YAML použijete rozšíření Azure Machine Učení VS Code, můžete v horní $schema části souboru vyvolat schéma a dokončování prostředků.
type const Povinný: Typ úlohy. sweep sweep
name string Název úlohy. Musí být jedinečný pro všechny úlohy v pracovním prostoru. Pokud tento parametr vynecháte, Azure Machine Učení automaticky vygeneruje identifikátor GUID pro název.
display_name string Zobrazovaný název úlohy v uživatelském rozhraní studia V rámci pracovního prostoru může být ne jedinečné. Pokud tento parametr vynecháte, Azure Machine Učení automaticky vygeneruje identifikátor jmenného jména čitelného člověka pro zobrazovaný název.
experiment_name string Uspořádejte úlohu pod názvem experimentu. Záznam spuštění každé úlohy je uspořádaný pod odpovídajícím experimentem na kartě Experimenty v sadě Studio. Pokud tento parametr vynecháte, azure machine Učení výchozí experiment_name název pracovního adresáře, ve kterém byla úloha vytvořena.
description string Popis úlohy
tags objekt Slovník značek pro úlohu
sampling_algorithm objekt Povinný: Algoritmus vzorkování hyperparametrů, který se má použít přes search_space. Jeden z RandomSamplingAlgorithm, GridSamplingAlgorithm nebo BayesianSamplingAlgorithm.
search_space objekt Povinný: Slovník vyhledávacího prostoru hyperparametrů Název hyperparametru je klíč a hodnota je výraz parametru.

Hyperparametry lze odkazovat ve výrazu trial.command${{ search_space.<hyperparameter> }} .
search_space.<hyperparameter> objekt Navštivte výrazy parametru pro sadu možných výrazů, které se mají použít.
objective.primary_metric string Povinný: Název primární metriky hlášené jednotlivými úlohami zkušební verze. Metrika se musí protokolovat do trénovacího skriptu uživatele s použitím mlflow.log_metric() stejného odpovídajícího názvu metriky.
objective.goal string Povinný: Cíl objective.primary_metricoptimalizace . maximize, minimize
early_termination objekt Zásady předčasného ukončení, které se mají použít. Zkušební úloha se zruší, když jsou splněna kritéria zadané zásady. Pokud tuto zásadu vynecháte, nepoužijí se žádné zásady předčasného ukončení. Jeden z BanditPolicy, MedianStoppingPolicy nebo TruncationSelectionPolicy.
limits objekt Omezení úlohy uklidit. Viz Atributy limits klíče.
compute string Povinný: Název cílového výpočetního objektu, na kterém se má úloha spustit, se azureml:<compute_name> syntaxí.
trial objekt Povinný: Šablona úlohy pro každou zkušební verzi. Každá zkušební úloha je poskytována s jinou kombinací hodnot hyperparametrů, které systém vzorkuje z search_space. Navštivte atributy trial klíče.
inputs objekt Slovník vstupů do úlohy. Klíč je název vstupu v kontextu úlohy a hodnota je vstupní hodnota.

Vstupy lze odkazovat ve command výrazu ${{ inputs.<input_name> }} .
inputs.<input_name> number, integer, boolean, string nebo object Jedna z literálových hodnot (typu číslo, celé číslo, logická hodnota nebo řetězec) nebo objekt, který obsahuje specifikaci vstupních dat úlohy.
outputs objekt Slovník výstupních konfigurací úlohy Klíč je název výstupu v kontextu úlohy a hodnota je výstupní konfigurace.

Na výstupy lze odkazovat pomocí command výrazu ${{ outputs.<output_name> }} .
outputs.<output_name> objekt Objekt můžete ponechat prázdný a v takovém případě je výstup typu uri_folder a Azure Machine Učení systémem vygeneruje výstupní umístění výstupu. Všechny soubory do výstupního adresáře se zapisují prostřednictvím připojení pro čtení i zápis. Pokud chcete pro výstup zadat jiný režim, zadejte objekt, který obsahuje specifikaci výstupu úlohy.
identity objekt Identita se používá pro přístup k datům. Může se jednat o konfiguraci identity uživatele, konfiguraci spravované identity nebo žádné. Pro UserIdentityConfiguration se identita odesílaného úlohy používá pro přístup ke vstupním datům a zápisu výsledku do výstupní složky. V opačném případě se použije spravovaná identita cílového výpočetního objektu.

Algoritmy vzorkování

RandomSamplingAlgorithm

Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ algoritmu vzorkování. random
seed integer Náhodné počáteční hodnoty, které se použijí k inicializaci náhodného generování čísel. Pokud tuto hodnotu vynecháte, výchozí počáteční hodnota má hodnotu null.
rule string Typ náhodného vzorkování, který se má použít. Výchozí , randompoužívá jednoduché jednotné náhodné vzorkování, zatímco sobol používá Sobol quasi-random sekvence. random, sobol random

GridSamplingAlgorithm

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ algoritmu vzorkování. grid

BayesianSamplingAlgorithm

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ algoritmu vzorkování. bayesian

Zásady předčasného ukončení

BanditPolicy

Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ zásady. bandit
slack_factor Číslo Poměr použitý k výpočtu povolené vzdálenosti od nejlepší zkušební verze. Jedna z slack_factor nebo slack_amount je povinná.
slack_amount Číslo Absolutní vzdálenost povolená od nejlepšího zkušebního výkonu. Jedna z slack_factor nebo slack_amount je povinná.
evaluation_interval integer Frekvence použití zásad. 1
delay_evaluation integer Početintervalch Pokud je zadáno, zásada se vztahuje na každý násobek evaluation_interval , který je větší nebo roven delay_evaluation. 0

MedianStoppingPolicy

Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ zásady. median_stopping
evaluation_interval integer Frekvence použití zásad. 1
delay_evaluation integer Početintervalch Pokud je zadáno, zásada se vztahuje na každý násobek evaluation_interval , který je větší nebo roven delay_evaluation. 0

TruncationSelectionPolicy

Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ zásady. truncation_selection
truncation_percentage integer Povinný: Procentozkušebních
evaluation_interval integer Frekvence použití zásad. 1
delay_evaluation integer Početintervalch Pokud je zadáno, zásada se vztahuje na každý násobek evaluation_interval , který je větší nebo roven delay_evaluation. 0

Výrazy parametrů

Volba

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. choice
values pole Povinný: Seznam diskrétních hodnot, ze kterých chcete zvolit.

Randint

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. randint
upper integer Povinný: Výhradní horní mez rozsahu celých čísel.

Qlognormal, qnormal

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. qlognormal, qnormal
mu Číslo Povinný: Střední hodnota normálního rozdělení.
sigma Číslo Povinný: Směrodatná odchylka normálního rozdělení.
q integer Povinný: Faktor vyhlazování.

Qloguniform, quniform

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. qloguniform, quniform
min_value Číslo Povinný: Minimální hodnota v oblasti (včetně).
max_value Číslo Povinný: Maximální hodnota v rozsahu (včetně).
q integer Povinný: Faktor vyhlazování.

Logaritmicko-normální

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. lognormal, normal
mu Číslo Povinný: Střední hodnota normálního rozdělení.
sigma Číslo Povinný: Směrodatná odchylka normálního rozdělení.

Loguniform

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. loguniform
min_value Číslo Povinný: Minimální hodnota v oblasti je exp(min_value) (včetně).
max_value Číslo Povinný: Maximální hodnota v rozsahu je exp(max_value) (včetně).

Jednotné

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ výrazu. uniform
min_value Číslo Povinný: Minimální hodnota v oblasti (včetně).
max_value Číslo Povinný: Maximální hodnota v rozsahu (včetně).

limits Atributy klíče

Klíč Typ Popis Default value
max_total_trials integer Maximální početzkušebních 1000
max_concurrent_trials integer Maximální počet zkušebních úloh, které se dají spustit souběžně. Výchozí hodnota max_total_trialsje .
timeout integer Maximální doba v sekundách, po kterou může běžet celá úloha úklidu. Po dosažení tohoto limitu systém zruší úlohu úklidu včetně všech zkušebních verzí. 5184000
trial_timeout integer Maximální doba v sekundách, po kterou může každá zkušební úloha běžet. Po dosažení tohoto limitu systém zkušební verzi zruší.

trial Atributy klíče

Klíč Typ Popis Default value
command string Povinný: Příkaz, který se má provést.
code string Místní cesta k adresáři zdrojového kódu, který se má nahrát a použít pro úlohu.
environment řetězec nebo objekt Povinný: Prostředí, které se má použít pro úlohu. Tato hodnota může být odkazem na existující prostředí s verzí v pracovním prostoru nebo specifikaci vloženého prostředí.

Pokud chcete odkazovat na existující prostředí, použijte azureml:<environment-name>:<environment-version> syntaxi.

Pokud chcete definovat prostředí vložené, postupujte podle schématu prostředí. name Vylučte a version vlastnosti, protože vložená prostředí je nepodporují.
environment_variables objekt Slovník párů název-hodnota proměnné prostředí, které se nastaví v procesu, ve kterém se příkaz spustí.
distribution objekt Konfigurace distribuce pro distribuované scénáře trénování Jedna z konfigurací Mpi, PyTorch Configuration nebo TensorFlow Configuration.
resources.instance_count integer Počet uzlů, které se mají pro úlohu použít. 1

Konfigurace distribuce

MpiConfiguration
Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ distribuce. mpi
process_count_per_instance integer Povinný: Počet procesů na uzel, které se mají pro úlohu spustit.
PyTorchConfiguration
Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ distribuce. pytorch
process_count_per_instance integer Počet procesů na uzel, které se mají pro úlohu spustit. 1
TensorFlowConfiguration
Klíč Typ Popis Povolené hodnoty Default value
type const Povinný: Typ distribuce. tensorflow
worker_count integer Počet pracovníků, kteří se mají pro práci spustit. Výchozí hodnota resources.instance_countje .
parameter_server_count integer Počet serverů parametrů, které se mají pro úlohu spustit. 0

Vstupy úloh

Klíč Typ Popis Povolené hodnoty Default value
type string Typ vstupu úlohy. Zadejte uri_file vstupní data, která ukazují na jeden zdroj souborů, nebo uri_folder pro vstupní data, která ukazují na zdroj složky. Další informace najdete v tématu Další informace o přístupu k datům. uri_file, uri_folder, , mltablemlflow_model uri_folder
path string Cesta k datům, která se mají použít jako vstup. Tuto hodnotu je možné zadat několika způsoby:

– Místní cesta k souboru nebo složce zdroje dat, path: ./iris.csvnapříklad . Data se nahrají během odeslání úlohy.

– Identifikátor URI cloudové cesty k souboru nebo složce, které se mají použít jako vstup. Podporované typy identifikátorů URI jsou azureml, , httpswasbs, abfss, adl. Další informace o použití formátu identifikátoru azureml:// URI najdete v syntaxi Core yaml.

– Existující zaregistrovaný datový prostředek Azure Machine Učení, který se použije jako vstup. Pokud chcete odkazovat na registrovaný datový asset, použijte azureml:<data_name>:<data_version> syntaxi nebo azureml:<data_name>@latest (k odkazování na nejnovější verzi tohoto datového assetu) – například path: azureml:cifar10-data:1path: azureml:cifar10-data@latest.
mode string Režim doručení dat do cílového výpočetního objektu

Pro připojení jen pro čtení (ro_mount) se data spotřebovávají jako cesta připojení. Složka se připojí jako složka a soubor se připojí jako soubor. Azure Machine Učení přeloží vstup na cestu připojení.

V download režimu se data stáhnou do cílového výpočetního objektu. Azure Machine Učení přeloží vstup do stažené cesty.

Pouze pro adresu URL umístění úložiště artefaktů nebo artefaktů dat místo připojení nebo stažení samotných dat použijte direct režim. Tím se předá adresa URL umístění úložiště jako vstup úlohy. V tomto případě jste plně zodpovědní za zpracování přihlašovacích údajů pro přístup k úložišti.
ro_mount, , downloaddirect ro_mount

Výstupy úloh

Klíč Typ Popis Povolené hodnoty Default value
type string Typ výstupu úlohy. Pro výchozí uri_folder typ výstup odpovídá složce. uri_file, uri_folder, , mltablemlflow_model uri_folder
mode string Režim doručení výstupního souboru nebo souborů do cílového úložiště Pro režim připojení pro čtení i zápis (rw_mount) je výstupní adresář připojeným adresářem. V režimu nahrávání se všechny zapsané soubory nahrají na konci úlohy. rw_mount, upload rw_mount

Konfigurace identit

UserIdentityConfiguration

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ identity. user_identity

ManagedIdentityConfiguration

Klíč Typ Popis Povolené hodnoty
type const Povinný: Typ identity. managed nebo managed_identity

Poznámky

Pomocí příkazu můžete az ml job spravovat úlohy azure machine Učení.

Příklady

Příklady najdete v příkladech v úložišti GitHub. Tady je několik:

YAML: hello uklidit

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  command: >-
    python hello-sweep.py
    --A ${{inputs.A}}
    --B ${{search_space.B}}
    --C ${{search_space.C}}
  code: src
  environment: azureml:AzureML-sklearn-1.1@latest
inputs:
  A: 0.5
sampling_algorithm: random
search_space:
  B:
    type: choice
    values: ["hello", "world", "hello_world"]
  C:
    type: uniform
    min_value: 0.1
    max_value: 1.0
objective:
  goal: minimize
  primary_metric: random_metric
limits:
  max_total_trials: 4
  max_concurrent_trials: 2
  timeout: 3600
display_name: hello-sweep-example
experiment_name: hello-sweep-example
description: Hello sweep job example.

YAML: Základní ladění hyperparametrů modelu Pythonu

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  code: src
  command: >-
    python main.py 
    --iris-csv ${{inputs.iris_csv}}
    --C ${{search_space.C}}
    --kernel ${{search_space.kernel}}
    --coef0 ${{search_space.coef0}}
  environment: azureml:AzureML-sklearn-1.1@latest
inputs:
  iris_csv: 
    type: uri_file
    path: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
compute: azureml:cpu-cluster
sampling_algorithm: random
search_space:
  C:
    type: uniform
    min_value: 0.5
    max_value: 0.9
  kernel:
    type: choice
    values: ["rbf", "linear", "poly"]
  coef0:
    type: uniform
    min_value: 0.1
    max_value: 1
objective:
  goal: minimize
  primary_metric: training_f1_score
limits:
  max_total_trials: 20
  max_concurrent_trials: 10
  timeout: 7200
display_name: sklearn-iris-sweep-example
experiment_name: sklearn-iris-sweep-example
description: Sweep hyperparemeters for training a scikit-learn SVM on the Iris dataset.

Další kroky