Share via


Pipeline Klass

Representerar en samling steg som kan köras som ett återanvändbart Azure Machine Learning-arbetsflöde.

Använd en pipeline för att skapa och hantera arbetsflöden som sammanfogar olika maskininlärningsfaser. Varje maskininlärningsfas, till exempel förberedelse av data och modellträning, kan bestå av ett eller flera steg i en pipeline.

En översikt över varför och när du ska använda pipelines finns i https://aka.ms/pl-concept.

En översikt över hur du skapar en pipeline finns i https://aka.ms/pl-first-pipeline.

Initiera pipeline.

Arv
builtins.object
Pipeline

Konstruktor

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

Parametrar

Name Description
workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

steps
Obligatorisk

Listan över steg som ska köras som en del av en pipeline.

description
Obligatorisk
str

Beskrivningen av pipelinen.

default_datastore
Obligatorisk

Det standarddatalager som ska användas för dataanslutningar.

default_source_directory
Obligatorisk
str

Standardskriptkatalogen för steg som kör ett skript.

resolve_closure
Obligatorisk

Om du vill lösa stängningen eller inte (ta automatiskt med beroende steg).

workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

steps
Obligatorisk

Listan över steg som ska köras som en del av en pipeline.

description
Obligatorisk
str

Beskrivningen av pipelinen.

default_datastore
Obligatorisk

Det standarddatalager som ska användas för dataanslutningar.

default_source_directory
Obligatorisk
str

Standardskriptkatalogen för steg som kör ett skript.

resolve_closure
Obligatorisk

Oavsett om du löser stängningen eller inte (ta automatiskt med beroende steg).

_workflow_provider
Obligatorisk
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Arbetsflödesprovidern, om Ingen skapas.

_service_endpoint
Obligatorisk
str

Tjänstslutpunkten, om Ingen bestäms med hjälp av arbetsytan.

kwargs
Obligatorisk

Anpassade nyckelordsargument, reserverade för framtida utveckling

Kommentarer

En pipeline skapas med en lista över steg och en arbetsyta. Det finns ett antal stegtyper som kan användas i en pipeline. Du väljer stegtyp baserat på ditt maskininlärningsscenario.

  • Azure Machine Learning Pipelines innehåller inbyggda steg för vanliga scenarier. Fördefinierade steg som härleds från PipelineSteg är steg som används i en pipeline. Exempel finns i paketet steps och AutoMLStep klassen.

  • Om du använder arbetsflödet för maskininlärning för att skapa steg som kan versionshanteras och användas i olika pipelines använder du funktionerna i modulen Module .

Skicka en pipeline med .submit När skicka anropas skapas en PipelineRun som i sin tur skapar StepRun objekt för varje steg i arbetsflödet. Använd dessa objekt för att övervaka körningen.

Ett exempel för att skicka en pipeline är följande:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

Det finns ett antal valfria inställningar för en pipeline som kan anges vid sändning i submit.

  • continue_on_step_failure: Om pipelinekörningen ska fortsätta om ett steg misslyckas. standardvärdet är Falskt. Om sant fortsätter körningen av endast steg som inte är beroende av utdata från det misslyckade steget.

  • regenerate_outputs: Om du vill framtvinga förnyelse av alla stegutdata och neka återanvändning av data för den här körningen är standardvärdet Falskt.

  • pipeline_parameters: Parametrar för pipelinekörning, ordlista med {name: value}. Mer PipelineParameter information finns i.

  • parent_run_id: Du kan ange ett körnings-ID för att ange den överordnade körningen av den här pipelinekörningen, vilket visas i RunHistory. Den överordnade körningen måste tillhöra samma experiment som den här pipelinen skickas till.

Ett exempel på hur du skickar en pipeline med de här inställningarna är följande:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline,
                                    continue_on_step_failure=True,
                                    regenerate_outputs=True,
                                    pipeline_parameters={"param1": "value1"},
                                    parent_run_id="<run_id>")

Metoder

load_yaml

Läs in en pipeline från den angivna YAML-filen.

En YAML-fil kan användas för att beskriva en pipeline som består av ModuleSteps.

publish

Publicera en pipeline och gör den tillgänglig för omkörning.

När en pipeline har publicerats kan den skickas utan Python-koden som skapade pipelinen. Returnerar den skapade PublishedPipeline.

service_endpoint

Hämta den tjänstslutpunkt som är associerad med pipelinen.

submit

Skicka en pipelinekörning. Detta motsvarar att använda submit.

Returnerar den skickade PipelineRun. Använd det här objektet för att övervaka och visa information om körningen.

validate

Verifiera en pipeline och identifiera potentiella fel, till exempel ej anslutna indata.

load_yaml

Läs in en pipeline från den angivna YAML-filen.

En YAML-fil kan användas för att beskriva en pipeline som består av ModuleSteps.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

Parametrar

Name Description
workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

filename
Obligatorisk
str

YAML-filen som beskriver pipelinen.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Arbetsflödesprovidern.

standardvärde: None
_service_endpoint
str

Tjänstslutpunkten, om ingen, bestäms med hjälp av arbetsytan.

standardvärde: None

Returer

Typ Description

Den konstruerade pipelinen.

Kommentarer

Nedan finns ett exempel på en YAML-fil. YAML innehåller ett namn, default_compute och listor med parametrar, datareferenser och steg för pipelinen. Varje steg bör ange bindningar för modul, beräkning och parameter, indata och utdata. Dessutom kan en steg-runconfig och argument anges om det behövs.

Yaml-exempelfil:


   pipeline:
       description: SamplePipelineFromYaml
       parameters:
           NumIterationsParameter:
               type: int
               default: 40
           DataPathParameter:
               type: datapath
               default:
                   datastore: workspaceblobstore
                   path_on_datastore: sample2.txt
           NodeCountParameter:
               type: int
               default: 4
       data_references:
           DataReference:
               datastore: workspaceblobstore
               path_on_datastore: testfolder/sample.txt
           Dataset:
               dataset_name: 'titanic'
       default_compute: aml-compute
       steps:
           PrepareStep:
               type:  ModuleStep
               name: "TestModule"
               compute: aml-compute2
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input1'
               -input:in1
               -'--input2'
               -input:in2
               -'--input3'
               -input:in3
               -'--output'
               -output:output_data
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS:
                       source: NumIterationsParameter
               inputs:
                   in1:
                       source: Dataset
                       bind_mode: mount
                   in2:
                       source: DataReference
                   in3:
                       source: DataPathParameter
               outputs:
                   output_data:
                       destination: Output1
                       datastore: workspaceblobstore
                       bind_mode: mount
           TrainStep:
               type: ModuleStep
               name: "TestModule2"
               version: "2"
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input'
               -input:train_input
               -'--output'
               -output:result
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS: 10
               runconfig_parameters:
                   NodeCount:
                       source: NodeCountParameter
               inputs:
                   train_input:
                       source: Output1
                       bind_mode: mount
               outputs:
                   result:
                       destination: Output2
                       datastore: workspaceblobstore
                       bind_mode: mount

publish

Publicera en pipeline och gör den tillgänglig för omkörning.

När en pipeline har publicerats kan den skickas utan Python-koden som skapade pipelinen. Returnerar den skapade PublishedPipeline.

publish(name=None, description=None, version=None, continue_on_step_failure=None)

Parametrar

Name Description
name
str

Namnet på den publicerade pipelinen.

standardvärde: None
description
str

Beskrivningen av den publicerade pipelinen.

standardvärde: None
version
str

Versionen av den publicerade pipelinen.

standardvärde: None
continue_on_step_failure

Anger om du vill fortsätta körningen av andra steg i PipelineRun om ett steg misslyckas. standardvärdet är falskt. Om sant fortsätter körningen av endast steg som inte är beroende av utdata från det misslyckade steget.

standardvärde: None

Returer

Typ Description

Skapad publicerad pipeline.

service_endpoint

Hämta den tjänstslutpunkt som är associerad med pipelinen.

service_endpoint()

Returer

Typ Description
str

Tjänstslutpunkten.

submit

Skicka en pipelinekörning. Detta motsvarar att använda submit.

Returnerar den skickade PipelineRun. Använd det här objektet för att övervaka och visa information om körningen.

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

Parametrar

Name Description
experiment_name
Obligatorisk
str

Namnet på experimentet som pipelinen ska skickas på.

pipeline_parameters

Parametrar för pipelinekörning, ordlista med {name: value}. Mer PipelineParameter information finns i.

standardvärde: None
continue_on_step_failure

Anger om pipelinekörningen ska fortsätta om ett steg misslyckas. Om sant fortsätter körningen av endast steg som inte är beroende av utdata från det misslyckade steget.

standardvärde: False
regenerate_outputs

Anger om du vill framtvinga regenerering av alla stegutdata och inte tillåta återanvändning av data för den här körningen. Om värdet är falskt kan den här körningen återanvända resultat från tidigare körningar, och efterföljande körningar kan återanvända resultatet av den här körningen.

standardvärde: False
parent_run_id
str

Valfritt körnings-ID som ska anges för den överordnade körningen av den här pipelinekörningen, vilket återspeglas i RunHistory. Den överordnade körningen måste tillhöra samma experiment som den här pipelinen skickas till.

standardvärde: None
credential_passthrough

Valfritt om den här flaggan är aktiverad använder fjärrpipelinejobbet autentiseringsuppgifterna för den användare som initierade jobbet. Den här funktionen är endast tillgänglig i privat förhandsversion.

standardvärde: None

Returer

Typ Description

Den skickade pipelinekörningen.

validate

Verifiera en pipeline och identifiera potentiella fel, till exempel ej anslutna indata.

validate()

Returer

Typ Description

En lista över fel i pipelinen.

Kommentarer

Exempel på valideringsfel är:

  • saknade eller oväntade pipelinedatakällor eller stegtyper

  • parametrar eller utdatadefinitioner saknas för en pipeline-datakälla eller ett steg

  • ej anslutna indata

  • pipelinesteg som utgör en loop eller cykel

Om valideringen godkänns (returnerar en tom lista) och pipelinen inte fungerar kan du läsa felsöknings- och felsökningspipelines för maskininlärning.

Attribut

graph

Hämta diagrammet som är associerat med pipelinen. Steg och dataindata visas som noder i diagrammet.

Returer

Typ Description

Diagrammet.