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.objectPipelineStep
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ů kroků |
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, má vstup předponu INPUT. Výchozí hodnota je Nepravda. Default value: 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. 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ů 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. 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ří porty pro sekvencování. Default value: True
|
allow_reuse
|
Určuje, jestli bude modul dostupný k opakovanému použití v budoucích kanálech. Default value: True
|
version
|
Verze modulu. Default value: None
|
module_type
|
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).
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 budou používat 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, 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
|
Zdrojový adresář pro krok. |
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 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ů |