YAML-schema för CLI-pipelinejobb (v2)
GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)
Du hittar JSON-källschemat på https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json.
Kommentar
YAML-syntaxen som beskrivs i det här dokumentet baseras på JSON-schemat för den senaste versionen av ML CLI v2-tillägget. Den här syntaxen är garanterad att endast fungera med den senaste versionen av ML CLI v2-tillägget. Du hittar scheman för äldre tilläggsversioner på https://azuremlschemasprod.azureedge.net/.
YAML-syntax
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
$schema |
sträng | YAML-schemat. Om du använder Azure Machine Learning VS Code-tillägget för att skapa YAML-filen kan du anropa schema- och resursavslutningar om du tar med $schema längst upp i filen. |
||
type |
Const | Obligatoriskt. Typen av jobb. | pipeline |
|
name |
sträng | Namnet på jobbet. Måste vara unikt för alla jobb på arbetsytan. Om det utelämnas skapar Azure Machine Learning automatiskt ett GUID för namnet. | ||
display_name |
sträng | Visningsnamn för jobbet i studiogränssnittet. Kan vara icke-unik på arbetsytan. Om detta utelämnas skapar Azure Machine Learning automatiskt en adjektiv-substantividentifierare som kan läsas av människor för visningsnamnet. | ||
experiment_name |
sträng | Organisera jobbet under experimentnamnet. Körningsposten för varje jobb ordnas under motsvarande experiment på fliken Experiment i studion. Om det utelämnas experiment_name är Azure Machine Learning som standard namnet på arbetskatalogen där jobbet skapades. |
||
tags |
objekt | Ordlista med taggar för jobbet. | ||
settings |
objekt | Standardinställningar för pipelinejobbet. Gå till Attribut för settings nyckeln för uppsättningen konfigurerbara egenskaper. |
||
jobs |
objekt | Obligatoriskt. Ordlista över den uppsättning enskilda jobb som ska köras som steg i pipelinen. Dessa jobb betraktas som underordnade jobb för det överordnade pipelinejobbet. Nyckeln är namnet på steget i kontexten för pipelinejobbet. Det här namnet skiljer sig från det unika jobbnamnet för det underordnade jobbet. Värdet är jobbspecifikationen, som kan följa kommandojobbschemat eller schemat för svepjobbet. För närvarande kan endast kommandojobb och svepjobb köras i en pipeline. Senare versioner har stöd för andra jobbtyper. |
||
inputs |
objekt | Ordlista över indata till pipelinejobbet. Nyckeln är ett namn på indata i jobbets kontext. Värdet är indatavärdet. Indata för ett enskilt stegjobb i pipelinen kan referera till dessa pipelineindata med ${{ parent.inputs.<input_name> }} uttrycket . Mer information om hur du binder indata från ett pipelinesteg till indata för det översta pipelinejobbet finns i Uttryckssyntax för att binda indata och utdata mellan steg i ett pipelinejobb. |
||
inputs.<input_name> |
tal, heltal, booleskt värde, sträng eller objekt | Ett av ett literalvärde (av typnummer, heltal, booleskt värde eller sträng) eller ett objekt som innehåller en dataspecifikation för jobbindata. | ||
outputs |
objekt | Ordlista över utdatakonfigurationer för pipelinejobbet. Nyckeln är ett namn på utdata i jobbets kontext. Värdet är utdatakonfigurationen. Utdata från ett enskilt stegjobb i pipelinen kan referera till dessa pipelineutdata med ${{ parents.outputs.<output_name> }} uttrycket . Mer information om hur du binder utdata från ett pipelinesteg till utdata från pipelinejobbet på den översta nivån finns i uttryckssyntaxen för bindning av indata och utdata mellan steg i ett pipelinejobb. |
||
outputs.<output_name> |
objekt | Du kan lämna objektet tomt. I det här fallet är utdata som standard av typen uri_folder , och Azure Machine Learning systemgenereras en utdataplats för utdata baserat på den här templaterade sökvägen: {settings.datastore}/azureml/{job-name}/{output-name}/ . Filer till utdatakatalogen skrivs via en skrivskyddad montering. Ange ett annat utdataläge genom att ange ett objekt som innehåller jobbutdataspecifikationen. |
||
identity |
objekt | Identiteten används för dataåtkomst. Det kan vara UserIdentityConfiguration, ManagedIdentityConfiguration eller None. Om det är UserIdentityConfiguration används identiteten för jobbinskickare för att komma åt indata och skriva resultat till utdatamappen, annars används den hanterade identiteten för beräkningsmålet. |
Attribut för settings
nyckeln
Nyckel | Typ | Beskrivning | Standardvärde |
---|---|---|---|
default_datastore |
sträng | Namnet på det datalager som ska användas som standarddatalager för pipelinejobbet. Det här värdet måste vara en referens till ett befintligt datalager på arbetsytan med hjälp av syntaxen azureml:<datastore-name> . Alla utdata som definieras i outputs egenskapen för det överordnade pipelinejobbet eller underordnade stegjobb lagras i det här dataarkivet. Om det utelämnas lagras utdata i arbetsytans blobdatalager. |
|
default_compute |
sträng | Namnet på beräkningsmålet som ska användas som standardberäkning för alla steg i pipelinen. Beräkning som definierats på stegnivå åsidosätter den här standardberäkningen för det specifika steget. Värdet default_compute måste vara en referens till en befintlig beräkning på arbetsytan med hjälp av syntaxen azureml:<compute-name> . |
|
continue_on_step_failure |
boolean | Den här inställningen avgör vad som händer om ett steg i pipelinen misslyckas. Som standard fortsätter pipelinen att köras även om ett steg misslyckas. Det innebär att alla steg som inte är beroende av det misslyckade steget fortfarande körs. Men om du ändrar den här inställningen till False slutar hela pipelinen att köras och alla steg som körs avbryts om ett steg misslyckas. | True |
force_rerun |
boolean | Om hela pipelinen ska köras igen. Standardvärdet är False . Det innebär att pipelinen som standard försöker återanvända utdata från föregående jobb om det uppfyller återanvändningskriterierna. Om det anges som True körs alla steg i pipelinen igen. |
False |
Jobbindata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Typ av jobbindata. Ange uri_file för indata som pekar på en enda filkälla eller uri_folder för indata som pekar på en mappkälla. Mer information finns i Läs mer om dataåtkomst. |
uri_file , uri_folder , , mltable mlflow_model |
uri_folder |
path |
sträng | Sökvägen till de data som ska användas som indata. Detta kan anges på några sätt: – En lokal sökväg till datakällans fil eller mapp, t.ex. path: ./iris.csv . Data överförs under jobböverföringen. – En URI för en molnsökväg till filen eller mappen som ska användas som indata. URI-typer som stöds är azureml , https , wasbs , abfss , adl . Mer information om hur du använder azureml:// URI-formatet finns i Core yaml-syntax. – En befintlig registrerad Azure Machine Learning-datatillgång som ska användas som indata. Om du vill referera till en registrerad datatillgång använder du syntaxen azureml:<data_name>:<data_version> eller azureml:<data_name>@latest (för att referera till den senaste versionen av den datatillgången), t.ex. path: azureml:cifar10-data:1 eller path: azureml:cifar10-data@latest . |
||
mode |
sträng | Läge för hur data ska levereras till beräkningsmålet. För skrivskyddad montering ( ro_mount ) används data som en monteringssökväg. En mapp monteras som en mapp och en fil monteras som en fil. Azure Machine Learning löser indata till monteringssökvägen. För download läge laddas data ned till beräkningsmålet. Azure Machine Learning löser indata till den nedladdade sökvägen. För bara URL:en för lagringsplatsen för dataartefakten eller artefakterna använder direct du läget i stället för att montera eller ladda ned själva data. Detta skickar in URL:en för lagringsplatsen som jobbindata. I det här fallet är du helt ansvarig för att hantera autentiseringsuppgifter för att få åtkomst till lagringen. |
ro_mount , , download direct |
ro_mount |
Jobbutdata
Nyckel | Typ | Beskrivning | Tillåtna värden | Standardvärde |
---|---|---|---|---|
type |
sträng | Jobbutdatatypen. För standardtypen uri_folder motsvarar utdata en mapp. |
uri_file , uri_folder , , mltable mlflow_model |
uri_folder |
mode |
sträng | Läge för leverans av utdatafilen eller filerna till mållagringen. För skrivskyddat monteringsläge (rw_mount ) är utdatakatalogen en monterad katalog. I uppladdningsläget laddas de filer som skrivs upp i slutet av jobbet. |
rw_mount , upload |
rw_mount |
Identitetskonfigurationer
UserIdentityConfiguration
Nyckel | Typ | Beskrivning | Tillåtna värden |
---|---|---|---|
type |
Const | Obligatoriskt. Identitetstyp. | user_identity |
ManagedIdentityConfiguration
Nyckel | Typ | Beskrivning | Tillåtna värden |
---|---|---|---|
type |
Const | Obligatoriskt. Identitetstyp. | managed eller managed_identity |
Kommentarer
Du kan använda az ml job
kommandot för att hantera Azure Machine Learning-jobb.
Exempel
Gå till exempel GitHub-lagringsplatsen i exemplen. Flera visas här:
YAML: hello-pipeline
$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: indata-/utdataberoende
$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: vanliga inställningar för pipelinejobb
$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: indata på den översta nivån och övergripande vanliga inställningar för pipelinejobb
$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}}