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 konstruují z několika kroků kanálu, což jsou jedineč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 toho, jak kanály a kroky kanálu souvisejí, najdete v tématu Co jsou kanály ML.

Inicializujte krok kanálu.

Dědičnost
builtins.object
PipelineStep

Konstruktor

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

Parametry

Name Description
name
Vyžadováno
str

Název kroku kanálu.

inputs
Vyžadováno

Seznam vstupů kroků

outputs
Vyžadováno

Seznam výstupů kroků

arguments

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

výchozí hodnota: None
fix_port_name_collisions

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

výchozí hodnota: False
resource_inputs

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.

výchozí hodnota: None
name
Vyžadováno
str

Název kroku kanálu.

inputs
Vyžadováno

Seznam vstupů kroků

outputs
Vyžadováno

Seznam výstupů kroků

arguments
Vyžadováno

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

fix_port_name_collisions
Vyžadováno

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

resource_inputs
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. Tento krok také může mít řadu dalších parametrů specifických pro daný krok.

Kroky kanálu je možné nakonfigurovat společně tak, aby vytvořily Pipelinepracovní postup , který představuje pracovní postup 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 nezměněné. Při opakovaném použití kroku místo odeslání úlohy k výpočtu se výsledky z předchozího spuštění okamžitě zpřístupní 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 kroku PipelineStep jsou kroky, které se používají v jednom kanálu. Pokud pracovní postup strojového učení vyžaduje vytvoření kroků, které je možné vytvářet verze a používat je v různých kanálech, použijte Module 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, který 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 snímek je tvořen pouze konkrétní složkou. Vzhledem k tomu, že změny v jakýchkoli souborech v source_directory kroku aktivují opětovné nahrání snímku a udržování samostatných složek v každém kroku pomáhá překonejte 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 jsou data použitá v kroku v úložišti dat a allow_reuse mají 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árovat vstupy a výstupy s argumenty a vytvořit tak řetězec 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

Name Description
inputs
Vyžadováno

Seznam vstupů kroků

outputs
Vyžadováno

Seznam výstupů kroků

default_datastore
Vyžadováno

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

resource_inputs

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.

výchozí hodnota: None

Návraty

Typ Description

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

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

Name Description
execution_type
Vyžadováno
str

Typ spuštění modulu.

input_bindings
Vyžadováno

Vstupní vazby kroku.

output_bindings
Vyžadováno

Výstupní vazby kroku.

param_defs

Definice parametrů kroku.

výchozí hodnota: None
create_sequencing_ports

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

výchozí hodnota: True
allow_reuse

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

výchozí hodnota: True
version
str

Verze modulu.

výchozí hodnota: None
module_type
str

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

výchozí hodnota: None
arguments

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

výchozí hodnota: None
runconfig
str

Runconfig, který se použije pro python_script_step

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

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

výchozí hodnota: None

Návraty

Typ Description

Objekt definice modulu.

create_node

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

abstract create_node(graph, default_datastore, context)

Parametry

Name Description
graph
Vyžadováno

Graf, do který se má uzel přidat.

default_datastore
Vyžadováno

Výchozí úložiště dat, které se má v tomto kroku použít.

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

Objekt kontextu grafu.

Návraty

Typ Description

Vytvořený uzel.

get_source_directory

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

get_source_directory(context, source_directory, script_name)

Parametry

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

Objekt kontextu grafu.

source_directory
Vyžadováno
str

Zdrojový adresář pro krok.

script_name
Vyžadováno
str

Název skriptu pro krok.

hash_paths
Vyžadováno

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

Návraty

Typ Description

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

resolve_input_arguments

Spárovat vstupy a výstupy s argumenty a vytvořit tak řetězec argumentu.

static resolve_input_arguments(arguments, inputs, outputs, params)

Parametry

Name Description
arguments
Vyžadováno

Seznam argumentů kroku

inputs
Vyžadováno

Seznam vstupů kroků.

outputs
Vyžadováno

Seznam výstupů kroků

params
Vyžadováno

Seznam parametrů kroku

Návraty

Typ Description

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

run_after

Tento krok spusťte po zadaném kroku.

run_after(step)

Parametry

Name Description
step
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 třeba 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

Name Description
arguments
Vyžadováno

Seznam argumentů kroku.

inputs
Vyžadováno

Seznam vstupů kroků

outputs
Vyžadováno

Seznam výstupů kroků