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
Name | Description |
---|---|
name
Obligatorisk
|
Namnet på pipelinesteget. |
inputs
Obligatorisk
|
Listan över stegindata. |
outputs
Obligatorisk
|
Listan över stegutdata. |
arguments
|
En valfri lista med argument som ska skickas till ett skript som används i steget. Standardvärde: None
|
fix_port_name_collisions
|
Anger om namnkollisioner ska åtgärdas. Om True och indata och utdata har samma namn prefixet input med "INPUT". Standardvärdet är Falskt. Standardvärde: False
|
resource_inputs
|
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. Standardvärde: None
|
name
Obligatorisk
|
Namnet på pipelinesteget. |
inputs
Obligatorisk
|
Listan över stegindata. |
outputs
Obligatorisk
|
Listan över stegutdata. |
arguments
Obligatorisk
|
En valfri lista med argument som ska skickas till ett skript som används i steget. |
fix_port_name_collisions
Obligatorisk
|
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
Obligatorisk
|
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
Name | Description |
---|---|
inputs
Obligatorisk
|
Listan över stegindata. |
outputs
Obligatorisk
|
Listan över stegutdata. |
default_datastore
Obligatorisk
|
Standarddatalagringen. |
resource_inputs
|
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. Standardvärde: None
|
Returer
Typ | Description |
---|---|
Tuppeln för indatabindningar och utdatabindningar. |
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
Name | Description |
---|---|
execution_type
Obligatorisk
|
Körningstypen för modulen. |
input_bindings
Obligatorisk
|
Stegindatabindningar. |
output_bindings
Obligatorisk
|
Steget utdatabindningar. |
param_defs
|
Stegparameterdefinitionerna. Standardvärde: None
|
create_sequencing_ports
|
Anger om sekvenseringsportar ska skapas för modulen. Standardvärde: True
|
allow_reuse
|
Anger om modulen ska vara tillgänglig för återanvändning i framtida pipelines. Standardvärde: True
|
version
|
Versionen av modulen. Standardvärde: None
|
module_type
|
Modultypen som modulskapandetjänsten ska skapa. För närvarande stöds endast två typer: "None" och "BatchInferencing".
Standardvärde: None
|
arguments
|
Lista över kommenterade argument som ska användas när du anropar den här modulen Standardvärde: None
|
runconfig
|
Runconfig som ska användas för python_script_step Standardvärde: None
|
cloud_settings
|
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Inställningar som ska användas för moln Standardvärde: None
|
Returer
Typ | Description |
---|---|
Moduldefinitionsobjektet. |
create_node
Skapa en nod för pipelinediagrammet baserat på det här steget.
abstract create_node(graph, default_datastore, context)
Parametrar
Name | Description |
---|---|
graph
Obligatorisk
|
Diagrammet som noden ska läggas till i. |
default_datastore
Obligatorisk
|
Standarddatalagringen som ska användas för det här steget. |
context
Obligatorisk
|
<xref:azureml.pipeline.core._GraphContext>
Grafkontextobjektet. |
Returer
Typ | Description |
---|---|
Den skapade noden. |
get_source_directory
Hämta källkatalogen för steget och kontrollera att skriptet finns.
get_source_directory(context, source_directory, script_name)
Parametrar
Name | Description |
---|---|
context
Obligatorisk
|
<xref:azureml.pipeline.core._GraphContext>
Grafkontextobjektet. |
source_directory
Obligatorisk
|
Källkatalogen för steget. |
script_name
Obligatorisk
|
Skriptnamnet för steget. |
hash_paths
Obligatorisk
|
De hash-sökvägar som ska användas när du fastställer modulens fingeravtryck. |
Returer
Typ | Description |
---|---|
Källkatalogen och hashsökvägarna. |
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
Name | Description |
---|---|
arguments
Obligatorisk
|
En lista med stegargument. |
inputs
Obligatorisk
|
En lista över stegindata. |
outputs
Obligatorisk
|
En lista över stegutdata. |
params
Obligatorisk
|
En lista över stegparametrar. |
Returer
Typ | Description |
---|---|
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) |
run_after
Kör det här steget efter det angivna steget.
run_after(step)
Parametrar
Name | Description |
---|---|
step
Obligatorisk
|
Pipelinesteget som ska köras före det här steget. |
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
Name | Description |
---|---|
arguments
Obligatorisk
|
Listan över stegargument. |
inputs
Obligatorisk
|
Listan över stegindata. |
outputs
Obligatorisk
|
Listan över stegutdata. |