YAML-schema för CLI-pipelinejobb (v2)

GÄLLER FÖR:Azure CLI ml extension v2 (aktuell)

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 Default value
$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 Obligatoriska. 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 Obligatoriska. 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 Åtkomst till data använder identiteten. Det kan vara konfiguration av användaridentitet, konfiguration av hanterad identitet eller Ingen. För UserIdentityConfiguration används identiteten för jobbinskickare för att komma åt indata och skriva resultatet till utdatamappen. Annars använder UserIdentityConfiguration den hanterade identiteten för beräkningsmålet.

Attribut för settings nyckeln

Nyckel Typ Beskrivning Default value
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 Truekörs alla steg i pipelinen igen. False

Jobbindata

Nyckel Typ Beskrivning Tillåtna värden Default value
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, , mltablemlflow_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, , downloaddirect ro_mount

Jobbutdata

Nyckel Typ Beskrivning Tillåtna värden Default value
type sträng Jobbutdatatypen. För standardtypen uri_folder motsvarar utdata en mapp. uri_file, uri_folder, , mltablemlflow_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 Obligatoriska. Identitetstyp. user_identity

ManagedIdentityConfiguration

Nyckel Typ Beskrivning Tillåtna värden
type Const Obligatoriska. 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.0/labels/latest
    compute: azureml:cpu-cluster
  world_job:
    command: echo "world"
    environment: azureml://registries/azureml/environments/sklearn-1.0/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.0/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.0/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.0/labels/latest
  world_job:
    command: echo 202204190 & echo "hello"
    environment: azureml://registries/azureml/environments/sklearn-1.0/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.0/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.0/labels/latest
    outputs:
      world_output:
  c:
    command: echo ${{inputs.world_input}}/world.txt
    environment: azureml://registries/azureml/environments/sklearn-1.0/labels/latest
    inputs:
      world_input: ${{parent.jobs.b.outputs.world_output}}

Nästa steg