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.
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 in 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 in 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 PipelineStep är steg som används i en pipeline. Exempel finns i paketet steps och AutoMLStep klassen.
Om ditt arbetsflöde för maskininlärning kräver att du skapar 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 False. Om det är sant fortsätter endast steg som inte är beroende av utdata från det misslyckade steget att köras.
regenerate_outputs: Om du vill framtvinga regenerering av alla stegutdata och inte tillåta å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 information finns i PipelineParameter.
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 för att skicka 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 konstruerade pipelinen. Returnerar den skapade PublishedPipeline. |
| service_endpoint |
Hämta tjänstslutpunkten 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
Se nedan för 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.
Exempel på Yaml-fil:
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 konstruerade 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 false. Om det är sant fortsätter endast steg som inte är beroende av utdata från det misslyckade steget att köras. Standardvärde: None
|
Returer
| Typ | Description |
|---|---|
|
Skapad publicerad pipeline. |
service_endpoint
Hämta tjänstslutpunkten 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 information finns i PipelineParameter. Standardvärde: None
|
|
continue_on_step_failure
|
Anger om pipelinekörningen ska fortsätta om ett steg misslyckas. Om det är sant fortsätter endast steg som inte är beroende av utdata från det misslyckade steget att köras. 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 det ä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 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
saknade parametrar eller utdatadefinitioner 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 grafen som är associerad med pipelinen. Steg och dataindata visas som noder i diagrammet.
Returer
| Typ | Description |
|---|---|
|
Diagrammet. |