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 separat 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 utformats för vanliga scenarier ärver, till PythonScriptStepexempel , DataTransferStepoch HyperDriveStep.
En översikt över hur Pipelines och PipelineSteps relaterar finns i Vad är ML-pipelines?
Initiera PipelineStep.
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 för indata med "INPUT". Standardvärdet är False. 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 för indata med "INPUT". Standardvärdet är False. |
|
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 att beräkna, 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 PipelineStep är steg som används i en pipeline. 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 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 ögonblicksbild. Eftersom ändringar i alla filer i stegets source_directory utlöser en återuppladdning 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 rekommenderas inte, ä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 de 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
|
Standarddatalager. |
|
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
|
Modulens körningstyp. |
|
input_bindings
Obligatorisk
|
Stegindatabindningar. |
|
output_bindings
Obligatorisk
|
Stegutdatabindningar. |
|
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 för modulskapandetjänsten som ska skapas. För närvarande stöds endast två typer: "None" och "BatchInferencing".
Standardvärde: None
|
|
arguments
|
Lista med 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
|
Det standarddatalager 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 de 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 med stegargument. |
|
inputs
Obligatorisk
|
Listan över stegindata. |
|
outputs
Obligatorisk
|
Listan över stegutdata. |