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

workspace
Workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

steps
list
Obligatorisk

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

description
str
Obligatorisk

Beskrivningen av pipelinen.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

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

default_source_directory
str
Obligatorisk

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

resolve_closure
bool
Obligatorisk

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

workspace
Workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

steps
list
Obligatorisk

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

description
str
Obligatorisk

Beskrivningen av pipelinen.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

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

default_source_directory
str
Obligatorisk

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

resolve_closure
bool
Obligatorisk

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

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

Arbetsflödesprovidern, om Ingen skapas.

_service_endpoint
str
Obligatorisk

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

kwargs
dict
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

workspace
Workspace
Obligatorisk

Arbetsytan som pipelinen ska skickas på.

filename
str
Obligatorisk

YAML-filen som beskriver pipelinen.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
standardvärde: None

Arbetsflödesprovidern.

_service_endpoint
str
standardvärde: None

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

Returer

Den konstruerade pipelinen.

Returtyp

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
str
standardvärde: None

Namnet på den publicerade pipelinen.

description
str
standardvärde: None

Beskrivningen av den publicerade pipelinen.

version
str
standardvärde: None

Versionen av den publicerade pipelinen.

continue_on_step_failure
bool
standardvärde: None

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.

Returer

Skapad publicerad pipeline.

Returtyp

service_endpoint

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

service_endpoint()

Returer

Tjänstslutpunkten.

Returtyp

str

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

experiment_name
str
Obligatorisk

Namnet på experimentet som pipelinen ska skickas på.

pipeline_parameters
dict
standardvärde: None

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

continue_on_step_failure
bool
standardvärde: False

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.

regenerate_outputs
bool
standardvärde: False

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.

parent_run_id
str
standardvärde: None

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.

credential_passthrough
standardvärde: None

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.

Returer

Den skickade pipelinekörningen.

Returtyp

validate

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

validate()

Returer

En lista över fel i pipelinen.

Returtyp

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

Diagrammet.

Returtyp