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.objectPipeline
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
|
Beskrivningen av pipelinen. |
default_datastore
Obligatorisk
|
Det standarddatalager som ska användas för dataanslutningar. |
default_source_directory
Obligatorisk
|
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
|
Beskrivningen av pipelinen. |
default_datastore
Obligatorisk
|
Det standarddatalager som ska användas för dataanslutningar. |
default_source_directory
Obligatorisk
|
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
|
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
|
YAML-filen som beskriver pipelinen. |
_workflow_provider
|
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>
Arbetsflödesprovidern. Standardvärde: None
|
_service_endpoint
|
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
|
Namnet på den publicerade pipelinen. Standardvärde: None
|
description
|
Beskrivningen av den publicerade pipelinen. Standardvärde: None
|
version
|
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 |
---|---|
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
|
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
|
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. |