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ářejí 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 vlastní pojmenované vstupy, výstupy a parametry.

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

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

Inicializace 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ů kroku

arguments

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

Default value: 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, je vstup předponou "INPUT". Výchozí hodnota je False.

Default value: False
resource_inputs

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

Default value: 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ů kroku

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, je vstup předponou "INPUT". Výchozí hodnota je False.

resource_inputs
Vyžadováno

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

Poznámky

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

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

Kanály Služby Azure Machine Learning poskytují 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 váš pracovní postup strojového učení volá k vytváření kroků, které je možné správě verzí a použití 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 kroku 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 naleznete 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ímek vytváří jenom v konkrétní složce. Vzhledem k tomu, že změny ve všech souborech v kroku source_directory aktivují opětovné nahrání snímku, udržování samostatných složek v jednotlivých krocích pomáhá znovu použít kroky v kanálu, protože pokud v source_directory kroku nedošlo k žádným změnám, 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 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ů kroku.

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

Porovná vstupy a výstupy s argumenty a vytvoří řetězec argumentu.

run_after

Spusťte tento krok 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ů kroku.

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ů kroku

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 skriptu a poskytují způsob, jak změnit chování skriptu za běhu.

Default value: 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.

Default value: None
create_sequencing_ports

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

Default value: True
allow_reuse

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

Default value: True
version
str

Verze modulu.

Default value: None
module_type
str

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

Default value: None
arguments

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

Default value: None
runconfig
str

Runconfig, který se použije pro python_script_step

Default value: None
cloud_settings
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>

Nastavení, která se použijí pro cloudy

Default value: 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 pro přidání uzlu.

default_datastore
Vyžadováno

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

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

Kontextový objekt 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>

Kontextový objekt grafu.

source_directory
Vyžadováno
str

Zdrojový adresář kroku.

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 hash.

resolve_input_arguments

Porovná vstupy a výstupy s argumenty a vytvoří ř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ů kroku

params
Vyžadováno

Seznam parametrů kroku

Návraty

Typ Description

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

run_after

Spusťte tento krok 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 kroku2 spustit 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ů kroku