PipelineStep Klass
Representerar ett körningssteg i en Azure Machine Learning-pipeline.
Pipelines skapas från flera pipelinesteg, som är distinkta beräkningsenheter i pipelinen. Varje steg kan köras oberoende av varandra och använda isolerade beräkningsresurser. Varje steg har vanligtvis sina egna namngivna indata, utdata och parametrar.
Klassen PipelineStep är basklassen från vilken andra inbyggda stegklasser som är utformade för vanliga scenarier ärver, till exempel PythonScriptStep, DataTransferStepoch HyperDriveStep.
En översikt över hur Pipelines och PipelineSteps relaterar finns i Vad är ML-pipelines?
Initiera PipelineSteg.
- Arv
-
builtins.objectPipelineStep
Konstruktor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parametrar
- arguments
- list
En valfri lista med argument som ska skickas till ett skript som används i steget.
- fix_port_name_collisions
- bool
Anger om namnkollisioner ska åtgärdas. Om True och indata och utdata har samma namn prefixet input med "INPUT". Standardvärdet är Falskt.
- resource_inputs
- list
En valfri lista över indata som ska användas som resurser. Resurser laddas ned till skriptmappen och ger ett sätt att ändra beteendet för skript vid körning.
- arguments
- list
En valfri lista med argument som ska skickas till ett skript som används i steget.
- fix_port_name_collisions
- bool
Anger om namnkollisioner ska åtgärdas. Om True och indata och utdata har samma namn prefixet input med "INPUT". Standardvärdet är Falskt.
- resource_inputs
- list
En valfri lista över indata som ska användas som resurser. Resurser laddas ned till skriptmappen och ger ett sätt att ändra beteendet för skript vid körning.
Kommentarer
En PipelineStep är en körningsenhet som vanligtvis behöver ett körningsmål (beräkningsmål), ett skript som ska köras med valfria skriptargument och indata och som kan generera utdata. Steget kan också ta ett antal andra parametrar som är specifika för steget.
Pipelinesteg kan konfigureras tillsammans för att skapa ett Pipeline, som representerar ett delbart och återanvändbart Azure Machine Learning-arbetsflöde. Varje steg i en pipeline kan konfigureras för att tillåta återanvändning av tidigare körningsresultat om steginnehållet (skript/beroenden) samt indata och parametrar förblir oförändrade. När du återanvänder steget, i stället för att skicka jobbet för beräkning, görs resultaten från den föregående körningen omedelbart tillgängliga för efterföljande steg.
Azure Machine Learning Pipelines innehåller inbyggda steg för vanliga scenarier. Exempel finns i paketet steps och AutoMLStep klassen. En översikt över hur du skapar en pipeline baserat på fördefinierade steg finns i https://aka.ms/pl-first-pipeline.
Fördefinierade steg som härleds från PipelineSteg är steg som används i en pipeline. Om ditt arbetsflöde för maskininlärning anropar för att skapa steg som kan versionshanteras och användas i olika pipelines använder Module du klassen .
Tänk på följande när du arbetar med pipelinesteg, indata/utdata och återanvändning av steg.
Vi rekommenderar att du använder separata source_directory platser för separata steg. Om alla skript i pipelinestegen finns i en enda katalog ändras hashen för katalogen varje gång du gör en ändring i ett skript som tvingar alla steg att köras igen. Ett exempel på hur du använder separata kataloger för olika steg finns i https://aka.ms/pl-get-started.
Genom att underhålla separata mappar för skript och beroende filer för varje steg minskar du storleken på ögonblicksbilden som skapas för varje steg eftersom endast den specifika mappen är ögonblicksbilderad. Eftersom ändringar i alla filer i stegets source_directory utlöser en omuppladdning av ögonblicksbilden och underhåller separata mappar varje steg, hjälper över återanvändning av steg i pipelinen eftersom om det inte finns några ändringar i source_directory i ett steg återanvänds stegets tidigare körning.
Om data som används i ett steg finns i ett datalager och allow_reuse är Sant identifieras inte ändringar i dataändringen. Om data laddas upp som en del av ögonblicksbilden (under stegets source_directory), men detta inte rekommenderas, ändras hashen och utlöser en omkörning.
Metoder
create_input_output_bindings |
Skapa indata- och utdatabindningar från stegindata och utdata. |
create_module_def |
Skapa moduldefinitionsobjektet som beskriver steget. |
create_node |
Skapa en nod för pipelinediagrammet baserat på det här steget. |
get_source_directory |
Hämta källkatalogen för steget och kontrollera att skriptet finns. |
resolve_input_arguments |
Matcha indata och utdata till argument för att skapa en argumentsträng. |
run_after |
Kör det här steget efter det angivna steget. |
validate_arguments |
Kontrollera att stegindata och utdata som anges i argumenten finns i listorna för indata och utdata. |
create_input_output_bindings
Skapa indata- och utdatabindningar från stegindata och utdata.
create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)
Parametrar
- default_datastore
- AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Standarddatalagringen.
- resource_inputs
- list
Listan över indata som ska användas som resurser. Resurser laddas ned till skriptmappen och ger ett sätt att ändra beteendet för skript vid körning.
Returer
Tuppeln för indatabindningar och utdatabindningar.
Returtyp
create_module_def
Skapa moduldefinitionsobjektet som beskriver steget.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)
Parametrar
- create_sequencing_ports
- bool
Anger om sekvenseringsportar ska skapas för modulen.
- allow_reuse
- bool
Anger om modulen ska vara tillgänglig för återanvändning i framtida pipelines.
- module_type
- str
Modultypen som modulskapandetjänsten ska skapa. För närvarande stöds endast två typer: "None" och "BatchInferencing". module_type
skiljer sig från execution_type
vilken typ av serverdelstjänst som ska användas för att köra den här modulen.
- arguments
- list
Lista över kommenterade argument som ska användas när du anropar den här modulen
- cloud_settings
- <xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Inställningar som ska användas för moln
Returer
Moduldefinitionsobjektet.
Returtyp
create_node
Skapa en nod för pipelinediagrammet baserat på det här steget.
abstract create_node(graph, default_datastore, context)
Parametrar
- default_datastore
- AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Standarddatalagringen som ska användas för det här steget.
- context
- <xref:azureml.pipeline.core._GraphContext>
Grafkontextobjektet.
Returer
Den skapade noden.
Returtyp
get_source_directory
Hämta källkatalogen för steget och kontrollera att skriptet finns.
get_source_directory(context, source_directory, script_name)
Parametrar
- context
- <xref:azureml.pipeline.core._GraphContext>
Grafkontextobjektet.
- hash_paths
- list
De hash-sökvägar som ska användas när du fastställer modulens fingeravtryck.
Returer
Källkatalogen och hashsökvägarna.
Returtyp
resolve_input_arguments
Matcha indata och utdata till argument för att skapa en argumentsträng.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parametrar
Returer
Returnerar en tuppeln med två objekt. Den första är en platt lista över objekt för de lösta argumenten. Den andra är en lista över strukturerade argument (_InputArgument, _OutputArgument, _ParameterArgument och _StringArgument)
Returtyp
run_after
Kör det här steget efter det angivna steget.
run_after(step)
Parametrar
Kommentarer
Om du vill köra ett steg, till exempel steg3 när både steg1 och steg2 har slutförts, kan du använda:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Kontrollera att stegindata och utdata som anges i argumenten finns i listorna för indata och utdata.
static validate_arguments(arguments, inputs, outputs)
Parametrar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för