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
|
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
|
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
|
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
|
Verze modulu. Default value: None
|
|
module_type
|
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.
Default value: None
|
|
arguments
|
Seznam argumentů s poznámkami, který se má použít při volání tohoto modulu Default value: None
|
|
runconfig
|
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
|
Zdrojový adresář kroku. |
|
script_name
Vyžadováno
|
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 |