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.object
PipelineStep

Konstruktor

PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)

Parametrar

name
str
Obligatorisk

Namnet på pipelinesteget.

inputs
list
Obligatorisk

Listan över stegindata.

outputs
list
Obligatorisk

Listan över stegutdata.

arguments
list
standardvärde: None

En valfri lista med argument som ska skickas till ett skript som används i steget.

fix_port_name_collisions
bool
standardvärde: False

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
standardvärde: None

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.

name
str
Obligatorisk

Namnet på pipelinesteget.

inputs
list
Obligatorisk

Listan över stegindata.

outputs
list
Obligatorisk

Listan över stegutdata.

arguments
list
Obligatorisk

En valfri lista med argument som ska skickas till ett skript som används i steget.

fix_port_name_collisions
bool
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
list
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

inputs
list
Obligatorisk

Listan över stegindata.

outputs
list
Obligatorisk

Listan över stegutdata.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

Standarddatalagringen.

resource_inputs
list
standardvärde: None

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

execution_type
str
Obligatorisk

Körningstypen för modulen.

input_bindings
list
Obligatorisk

Stegindatabindningar.

output_bindings
list
Obligatorisk

Steget utdatabindningar.

param_defs
list
standardvärde: None

Stegparameterdefinitionerna.

create_sequencing_ports
bool
standardvärde: True

Anger om sekvenseringsportar ska skapas för modulen.

allow_reuse
bool
standardvärde: True

Anger om modulen ska vara tillgänglig för återanvändning i framtida pipelines.

version
str
standardvärde: None

Versionen av modulen.

module_type
str
standardvärde: None

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
standardvärde: None

Lista över kommenterade argument som ska användas när du anropar den här modulen

runconfig
str
standardvärde: None

Runconfig som ska användas för python_script_step

cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
standardvärde: None

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

graph
Graph
Obligatorisk

Diagrammet som noden ska läggas till i.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

Standarddatalagringen som ska användas för det här steget.

context
<xref:azureml.pipeline.core._GraphContext>
Obligatorisk

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>
Obligatorisk

Grafkontextobjektet.

source_directory
str
Obligatorisk

Källkatalogen för steget.

script_name
str
Obligatorisk

Skriptnamnet för steget.

hash_paths
list
Obligatorisk

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

arguments
list
Obligatorisk

En lista med stegargument.

inputs
list
Obligatorisk

En lista över stegindata.

outputs
list
Obligatorisk

En lista över stegutdata.

params
list
Obligatorisk

En lista över stegparametrar.

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

step
PipelineStep
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

arguments
list
Obligatorisk

Listan över stegargument.

inputs
list
Obligatorisk

Listan över stegindata.

outputs
list
Obligatorisk

Listan över stegutdata.