Sdílet prostřednictvím


PipelineStep Třída

Představuje krok spuštění v kanálu služby Azure Machine Learning.

Kanály se vytváří z několika kroků kanálu, což jsou odlišné výpočetní jednotky v kanálu. Každý krok může běžet nezávisle a používat izolované výpočetní prostředky. Každý krok má obvykle své vlastní pojmenované vstupy, výstupy a parametry.

Třída PipelineStep je základní třída, ze které dědí další předdefinované třídy kroků navržené pro běžné scénáře, jako PythonScriptStepjsou , DataTransferStepa HyperDriveStep.

Přehled o tom, jak kanály a kroky kanálu souvisejí, najdete v tématu Co jsou kanály ML.

Inicializace pipelineStep.

Dědičnost
builtins.object
PipelineStep

Konstruktor

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

Parametry

name
str
Vyžadováno

Název kroku kanálu.

inputs
list
Vyžadováno

Seznam vstupů kroků.

outputs
list
Vyžadováno

Seznam výstupů kroků.

arguments
list
výchozí hodnota: None

Volitelný seznam argumentů, které se mají předat skriptu použitému v kroku.

fix_port_name_collisions
bool
výchozí hodnota: False

Určuje, jestli se mají opravit kolize názvů. Pokud má hodnota True a vstup a výstup stejný název, má vstup předponu "INPUT". Výchozí hodnota je Nepravda.

resource_inputs
list
výchozí hodnota: None

Volitelný seznam vstupů, které se mají použít jako prostředky. Prostředky se stáhnou do složky script a poskytují způsob, jak změnit chování skriptu za běhu.

name
str
Vyžadováno

Název kroku kanálu.

inputs
list
Vyžadováno

Seznam vstupů kroků.

outputs
list
Vyžadováno

Seznam výstupů kroků.

arguments
list
Vyžadováno

Volitelný seznam argumentů, které se mají předat skriptu použitému v kroku.

fix_port_name_collisions
bool
Vyžadováno

Určuje, jestli se mají opravit kolize názvů. Pokud má hodnota True a vstup a výstup stejný název, má vstup předponu "INPUT". Výchozí hodnota je Nepravda.

resource_inputs
list
Vyžadováno

Volitelný seznam vstupů, které se mají použít jako prostředky. Prostředky se stáhnou do složky script a poskytují způsob, jak změnit chování skriptu za běhu.

Poznámky

PipelineStep je jednotka provádění, která obvykle vyžaduje cíl spuštění (cílový výpočetní objekt), skript ke spuštění s volitelnými argumenty a vstupy skriptu a může vytvářet výstupy. Krok také může mít řadu dalších parametrů specifických pro daný krok.

Kroky kanálu je možné nakonfigurovat společně a vytvořit Pipelinetak pracovní postup , který představuje pracovní postup služby Azure Machine Learning, který lze sdílet a opakovaně použít. Každý krok kanálu je možné nakonfigurovat tak, aby umožňoval opakované použití výsledků předchozího spuštění, pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny. Při opakovaném použití kroku se místo odeslání úlohy k výpočtu okamžitě zpřístupní výsledky z předchozího spuštění všem dalším krokům.

Azure Machine Learning Pipelines poskytuje integrované kroky pro běžné scénáře. Příklady najdete v steps balíčku a třídě AutoMLStep . Přehled o vytváření kanálu na základě předem připravených kroků najdete v tématu https://aka.ms/pl-first-pipeline.

Předdefinované kroky odvozené z PipelineStep jsou kroky, které se používají v jednom kanálu. Pokud pracovní postup použití strojového Module učení vyžaduje vytvoření kroků, které je možné vytvářet verze a používat v různých kanálech, použijte třídu .

Při práci s kroky kanálu, vstupními a výstupními daty a opětovným použitím kroků mějte na paměti následující skutečnosti.

  • Pro samostatné kroky doporučujeme použít samostatná umístění source_directory. Pokud jsou všechny skripty v krocích kanálu v jednom adresáři, hodnota hash tohoto adresáře se změní pokaždé, když provedete změnu jednoho skriptu a vynutí opětovné spuštění všech kroků. Příklad použití samostatných adresářů pro různé kroky najdete v tématu https://aka.ms/pl-get-started.

  • Udržování samostatných složek pro skripty a závislé soubory pro každý krok pomáhá zmenšit velikost snímku vytvořeného pro každý krok, protože se snímkuje jenom konkrétní složka. Vzhledem k tomu, že změny v jakýchkoli souborech v source_directory kroku aktivují opětovné nahrání snímku, přičemž každý krok udržuje samostatné složky, pomáhá přemístit opakované použití kroků v kanálu, protože pokud nedojde k žádným změnám v source_directory kroku, předchozí spuštění kroku se znovu použije.

  • Pokud se data použitá v kroku nachází v úložišti dat a allow_reuse má hodnotu True, změny změn dat se nezjistí. Pokud se data nahrají jako součást snímku (pod source_directory kroku), i když se to nedoporučuje, hodnota hash se změní a aktivuje opětovné spuštění.

Metody

create_input_output_bindings

Vytvořte vstupní a výstupní vazby ze vstupů a výstupů kroků.

create_module_def

Vytvořte objekt definice modulu, který popisuje krok.

create_node

Na základě tohoto kroku vytvořte uzel pro graf kanálu.

get_source_directory

Získejte zdrojový adresář pro krok a zkontrolujte, jestli skript existuje.

resolve_input_arguments

Spárování vstupů a výstupů s argumenty za účelem vytvoření řetězce argumentu

run_after

Tento krok spusťte po zadaném kroku.

validate_arguments

Ověřte, že vstupy a výstupy kroku zadané v argumentech jsou v seznamech vstupů a výstupů.

create_input_output_bindings

Vytvořte vstupní a výstupní vazby ze vstupů a výstupů kroků.

create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)

Parametry

inputs
list
Vyžadováno

Seznam vstupů kroků.

outputs
list
Vyžadováno

Seznam výstupů kroků.

default_datastore
AbstractAzureStorageDatastore nebo AzureDataLakeDatastore
Vyžadováno

Výchozí úložiště dat.

resource_inputs
list
výchozí hodnota: None

Seznam vstupů, které se mají použít jako prostředky. Prostředky se stáhnou do složky script a poskytují způsob, jak změnit chování skriptu za běhu.

Návraty

Řazená kolekce vstupních vazeb a výstupních vazeb.

Návratový typ

create_module_def

Vytvořte objekt definice modulu, který popisuje krok.

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)

Parametry

execution_type
str
Vyžadováno

Typ spuštění modulu.

input_bindings
list
Vyžadováno

Vstupní vazby kroku

output_bindings
list
Vyžadováno

Výstupní vazby kroku.

param_defs
list
výchozí hodnota: None

Definice parametrů kroku.

create_sequencing_ports
bool
výchozí hodnota: True

Určuje, jestli se pro modul vytvoří sekvencování portů.

allow_reuse
bool
výchozí hodnota: True

Určuje, jestli bude modul k dispozici pro opakované použití v budoucích kanálech.

version
str
výchozí hodnota: None

Verze modulu.

module_type
str
výchozí hodnota: None

Typ modulu pro službu vytváření modulu, která se má vytvořit. V současné době jsou podporovány pouze dva typy: Žádný a BatchInferencing. module_type se liší od execution_type toho, který určuje, jaký typ back-endové služby se má použít ke spuštění tohoto modulu.

arguments
list
výchozí hodnota: None

Seznam argumentů s poznámkami, který se má použít při volání tohoto modulu

runconfig
str
výchozí hodnota: None

Runconfig, který se použije pro python_script_step

cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
výchozí hodnota: None

Nastavení, která se budou používat pro cloudy

Návraty

Objekt definice modulu.

Návratový typ

create_node

Na základě tohoto kroku vytvořte uzel pro graf kanálu.

abstract create_node(graph, default_datastore, context)

Parametry

graph
Graph
Vyžadováno

Graf, do který chcete uzel přidat.

default_datastore
AbstractAzureStorageDatastore nebo AzureDataLakeDatastore
Vyžadováno

Výchozí úložiště dat, které se má použít pro tento krok.

context
<xref:azureml.pipeline.core._GraphContext>
Vyžadováno

Objekt kontextu grafu.

Návraty

Vytvořený uzel.

Návratový typ

get_source_directory

Získejte zdrojový adresář pro krok a zkontrolujte, jestli skript existuje.

get_source_directory(context, source_directory, script_name)

Parametry

context
<xref:azureml.pipeline.core._GraphContext>
Vyžadováno

Objekt kontextu grafu.

source_directory
str
Vyžadováno

Zdrojový adresář pro krok.

script_name
str
Vyžadováno

Název skriptu pro krok.

hash_paths
list
Vyžadováno

Cesty k hodnotě hash, které se mají použít při určování otisku prstu modulu.

Návraty

Zdrojový adresář a cesty k hodnotě hash.

Návratový typ

resolve_input_arguments

Spárování vstupů a výstupů s argumenty za účelem vytvoření řetězce argumentu

static resolve_input_arguments(arguments, inputs, outputs, params)

Parametry

arguments
list
Vyžadováno

Seznam argumentů kroku.

inputs
list
Vyžadováno

Seznam vstupů kroků.

outputs
list
Vyžadováno

Seznam výstupů kroků.

params
list
Vyžadováno

Seznam parametrů kroku

Návraty

Vrátí řazenou kolekci členů dvou položek. První je plochý seznam položek pro přeložené argumenty. Druhý je seznam strukturovaných argumentů (_InputArgument, _OutputArgument, _ParameterArgument a _StringArgument).

Návratový typ

run_after

Tento krok spusťte po zadaném kroku.

run_after(step)

Parametry

step
PipelineStep
Vyžadováno

Krok kanálu, který se má spustit před tímto krokem.

Poznámky

Pokud chcete po dokončení kroku 1 i kroku 2 spustit krok, například krok 3, můžete použít:


   step3.run_after(step1)
   step3.run_after(step2)

validate_arguments

Ověřte, že vstupy a výstupy kroku zadané v argumentech jsou v seznamech vstupů a výstupů.

static validate_arguments(arguments, inputs, outputs)

Parametry

arguments
list
Vyžadováno

Seznam argumentů kroku

inputs
list
Vyžadováno

Seznam vstupů kroků.

outputs
list
Vyžadováno

Seznam výstupů kroků.