Sdílet prostřednictvím


Schéma YAML úlohy kanálu CLI (v2)

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

Zdrojové schéma JSON najdete na adrese https://azuremlschemas.azureedge.net/latest/pipelineJob.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 Learning VS Code, můžete v horní $schema části souboru vyvolat dokončování schématu a prostředků.
type const Povinný: Typ úlohy. pipeline
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 Learning 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 Learning 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 Learning se ve výchozím nastavení experiment_name nastaví na název pracovního adresáře, ve kterém byla úloha vytvořena.
tags objekt Slovník značek pro úlohu
settings objekt Výchozí nastavení pro úlohu kanálu Navštivte atributy settings klíče pro sadu konfigurovatelných vlastností.
jobs objekt Povinný: Slovník sady jednotlivých úloh, které se mají spustit jako kroky v kanálu. Tyto úlohy jsou považovány za podřízené úlohy nadřazené úlohy kanálu.

Klíč je název kroku v kontextu úlohy kanálu. Tento název se liší od jedinečného názvu podřízené úlohy. Hodnota je specifikace úlohy, která může postupovat podle schématu úlohy příkazu nebo schématu úlohy uklidit. V současné době je možné v kanálu spustit pouze úlohy příkazů a úlohy úklidu. Novější verze budou mít podporu pro jiné typy úloh.
inputs objekt Slovník vstupů pro úlohu kanálu Klíč je název vstupu v kontextu úlohy. Hodnota je vstupní hodnota.

Vstupy jednotlivých úloh kroku v kanálu mohou odkazovat na tyto vstupy kanálu pomocí výrazu ${{ parent.inputs.<input_name> }} . Další informace o vazbě vstupů kroku kanálu na vstupy úlohy kanálu nejvyšší úrovně najdete v syntaxi výrazu pro vazby vstupů a výstupů mezi kroky v úloze kanálu.
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 obsahující specifikaci vstupních dat úlohy.
outputs objekt Slovník výstupních konfigurací úlohy kanálu Klíč je název výstupu v kontextu úlohy. Hodnota je výstupní konfigurace.

Výstupy jednotlivých úloh kroku v kanálu můžou odkazovat na tyto výstupy kanálu pomocí výrazu ${{ parents.outputs.<output_name> }} . Další informace o vazbě výstupů kroku kanálu na výstupy úlohy kanálu nejvyšší úrovně najdete v syntaxi výrazu pro vazby vstupů a výstupů mezi kroky v úloze kanálu.
outputs.<output_name> objekt Objekt můžete nechat prázdný. V tomto případě bude výstup ve výchozím nastavení typu uri_foldera Azure Machine Learning vygeneruje výstupní umístění pro výstup na základě této šablonované cesty: {settings.datastore}/azureml/{job-name}/{output-name}/ Soubory do výstupního adresáře se zapíšou prostřednictvím připojení pro čtení i zápis. Pokud chcete zadat jiný výstupní režim, zadejte objekt, který obsahuje specifikaci výstupu úlohy.
identity objekt Identita se používá pro přístup k datům. Může to být UserIdentityConfiguration, ManagedIdentityConfiguration nebo None. Pokud se jedná o UserIdentityConfiguration, použije se identita odesílače úloh pro přístup ke vstupním datům a výsledku zápisu do výstupní složky, jinak se použije spravovaná identita cílového výpočetního objektu.

settings Atributy klíče

Klíč Typ Popis Default value
default_datastore string Název úložiště dat, který se má použít jako výchozí úložiště dat pro úlohu kanálu. Tato hodnota musí být odkazem na existující úložiště dat v pracovním prostoru pomocí azureml:<datastore-name> syntaxe. Všechny výstupy definované ve outputs vlastnosti úlohy nadřazeného kanálu nebo podřízených úloh krok jsou uloženy v tomto úložišti dat. Pokud tento parametr vynecháte, výstupy se ukládají do úložiště dat objektů blob pracovního prostoru.
default_compute string Název cílového výpočetního objektu, který se má použít jako výchozí výpočetní prostředky pro všechny kroky v kanálu. Výpočty definované na úrovni kroku přepíší tento výchozí výpočetní výkon pro tento konkrétní krok. Hodnota default_compute musí být odkazem na existující výpočetní prostředky v pracovním prostoru pomocí azureml:<compute-name> syntaxe.
continue_on_step_failure boolean Toto nastavení určuje, co se stane v případě selhání kroku v kanálu. Ve výchozím nastavení se kanál bude dál spouštět i v případě, že jeden krok selže. To znamená, že všechny kroky, které nezávisí na neúspěšném kroku, se stále spustí. Pokud ale toto nastavení změníte na False, celý kanál se zastaví a všechny aktuálně spuštěné kroky se zruší, pokud jeden krok selže. True
force_rerun boolean Zda chcete vynutit opětovné spuštění celého kanálu. Výchozí hodnota je False. To znamená, že kanál se ve výchozím nastavení pokusí znovu použít výstup předchozí úlohy, pokud splňuje kritéria opakovaného použití. Pokud je nastavená jako True, všechny kroky v kanálu se znovu spustí. False

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. Můžete ho zadat několika způsoby:

– Místní cesta k souboru nebo složce zdroje dat, např. path: ./iris.csv 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 Služby Azure Machine Learning, 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ř. path: azureml:cifar10-data:1 path: 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) budou data spotřebována jako cesta připojení. Složka se připojí jako složka a soubor se připojí jako soubor. Azure Machine Learning 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 Learning 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ě V režimu připojení pro čtení i zápis (rw_mount) bude výstupní adresář připojeným adresářem. V režimu nahrávání se soubory zapsané na konci úlohy nahrají. 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í az ml job příkazu můžete spravovat úlohy Azure Machine Learning.

Příklady

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

YAML: kanál Hello

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline
jobs:
  hello_job:
    command: echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    compute: azureml:cpu-cluster
  world_job:
    command: echo "world"
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    compute: azureml:cpu-cluster

YAML: vstupní/výstupní závislost

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_io
jobs:
  hello_job:
    command: echo "hello" && echo "world" > ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    compute: azureml:cpu-cluster
    outputs:
      world_output:
  world_job:
    command: cat ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    compute: azureml:cpu-cluster
    inputs:
      world_input: ${{parent.jobs.hello_job.outputs.world_output}}

YAML: Běžná nastavení úlohy kanálu

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_settings

settings:
  default_datastore: azureml:workspaceblobstore
  default_compute: azureml:cpu-cluster
jobs:
  hello_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
  world_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest

YAML: Vstup nejvyšší úrovně a přepsání běžných nastavení úlohy kanálu

$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: hello_pipeline_abc
settings:
    default_compute: azureml:cpu-cluster
  
inputs:
  hello_string_top_level_input: "hello world"
jobs:
  a:
    command: echo hello ${{inputs.hello_string}}
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    inputs:
      hello_string: ${{parent.inputs.hello_string_top_level_input}}
  b:
    command: echo "world" >> ${{outputs.world_output}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    outputs:
      world_output:
  c:
    command: echo ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
    inputs:
      world_input: ${{parent.jobs.b.outputs.world_output}}

Další kroky