Sdílet prostřednictvím


CommandStep Třída

Vytvořte krok kanálu Azure ML, který spustí příkaz.

Vytvořte krok kanálu Azure ML, který spustí příkaz.

Dědičnost
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

Konstruktor

CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)

Parametry

Name Description
command
list nebo str

Příkaz ke spuštění nebo cesta spustitelného souboru nebo skriptu vzhledem k source_directory. Vyžaduje se, pokud není k dispozici s runconfig. Dá se zadat pomocí řetězcových argumentů v jednom řetězci nebo pomocí input/output/PipelineParameter v seznamu.

Default value: None
name
str

Název kroku. Pokud není zadáno, použije se první slovo v objektu command .

Default value: None
compute_target

Cílový výpočetní objekt, který se má použít. Pokud není zadaný, použije se cíl z objektu runconfig . Tento parametr je možné zadat jako cílový objekt výpočetního objektu nebo jako název řetězce cílového výpočetního objektu v pracovním prostoru. Volitelně, pokud cílový výpočetní objekt není při vytváření kanálu dostupný, můžete zadat řazenou kolekci členů ("název cílového výpočetního objektu", "cílový typ výpočetního objektu"), abyste se vyhnuli načtení cílového objektu výpočetního objektu (typ AmlCompute je AmlCompute a typ RemoteCompute je VirtualMachine).

Default value: None
runconfig

Volitelný objekt konfigurace, který zapouzdřuje informace potřebné k odeslání trénovacího spuštění v experimentu.

Default value: None
runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>

Přepisuje vlastnosti runconfig za běhu pomocí párů klíč-hodnota s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost.

Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

Default value: None
inputs
list[InputPortBinding nebo DataReference nebo PortDataReference nebo PipelineData nebo <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> nebo DatasetConsumptionConfig]

Seznam vazeb vstupních portů

Default value: None
outputs

Seznam výstupních vazeb portů.

Default value: None
params

Slovník párů název-hodnota zaregistrovaných jako proměnné prostředí s "AML_PARAMETER_".

Default value: None
source_directory
str

Složka, která obsahuje skripty, conda env a další prostředky použité v kroku.

Default value: None
allow_reuse

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. 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. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

Default value: True
version
str

Volitelná značka verze, která označuje změnu funkčnosti kroku.

Default value: None
command
Vyžadováno
list nebo str

Příkaz ke spuštění nebo cesta spustitelného souboru nebo skriptu vzhledem k source_directory. Vyžaduje se, pokud není k dispozici s runconfig. Dá se zadat pomocí řetězcových argumentů v jednom řetězci nebo pomocí input/output/PipelineParameter v seznamu.

name
Vyžadováno
str

Název kroku. Pokud není zadáno, použije se první slovo v objektu command .

compute_target
Vyžadováno

Cílový výpočetní objekt, který se má použít. Pokud není zadaný, použije se cíl z objektu runconfig . Tento parametr je možné zadat jako cílový objekt výpočetního objektu nebo jako název řetězce cílového výpočetního objektu v pracovním prostoru. Volitelně, pokud cílový výpočetní objekt není při vytváření kanálu dostupný, můžete zadat řazenou kolekci členů ("název cílového výpočetního objektu", "cílový typ výpočetního objektu"), abyste se vyhnuli načtení cílového objektu výpočetního objektu (typ AmlCompute je AmlCompute a typ RemoteCompute je VirtualMachine).

runconfig
Vyžadováno

Volitelný objekt konfigurace, který zapouzdřuje informace potřebné k odeslání trénovacího spuštění v experimentu.

runconfig_pipeline_params
Vyžadováno
<xref:<xref:{str: PipelineParameter}>>

Přepisuje vlastnosti runconfig za běhu pomocí párů klíč-hodnota s názvem vlastnosti runconfig a PipelineParameter pro danou vlastnost.

Podporované hodnoty: NodeCount, MpiProcessCountPerNode, TensorflowWorkerCount, TensorflowParameterServerCount

inputs
Vyžadováno
list[InputPortBinding nebo DataReference nebo PortDataReference nebo PipelineData nebo <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> nebo DatasetConsumptionConfig]

Seznam vazeb vstupních portů

outputs
Vyžadováno

Seznam výstupních vazeb portů.

params
Vyžadováno

Slovník párů název-hodnota zaregistrovaných jako proměnné prostředí s "AML_PARAMETER_".

source_directory
Vyžadováno
str

Složka, která obsahuje skripty, conda env a další prostředky použité v kroku.

allow_reuse
Vyžadováno

Určuje, jestli má krok znovu použít předchozí výsledky při opětovném spuštění se stejným nastavením. Opakované použití je ve výchozím nastavení povolené. Pokud obsah kroku (skripty/závislosti) i vstupy a parametry zůstanou beze změny, výstup z předchozího spuštění tohoto kroku se znovu použije. 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. Pokud jako vstupy použijete datové sady Azure Machine Learning, opakované použití závisí na tom, jestli se změnila definice datové sady, a ne na tom, jestli se změnila podkladová data.

version
Vyžadováno
str

Volitelná značka verze, která označuje změnu funkčnosti kroku.

Poznámky

CommandStep je základní integrovaný krok pro spuštění příkazu na daném výpočetním cíli. Příkaz přebírá jako parametr nebo z jiných parametrů, jako je runconfig. Přebírá také další volitelné parametry, jako jsou cíl výpočetních prostředků, vstupy a výstupy. K zadání požadavků pro CommandStep byste měli použít ScriptRunConfig nebo RunConfiguration , například vlastní image Dockeru.

Osvědčeným postupem pro práci s CommandStepem je použít samostatnou složku pro spustitelný soubor nebo skript ke spuštění všech závislých souborů přidružených ke kroku a zadat tuto složku s parametrem source_directory . Dodržování tohoto osvědčeného postupu má dvě výhody. Za prvé to pomůže zmenšit velikost snímku vytvořeného pro krok, protože snímek se vytvoří jenom to, co je pro krok potřeba. Za druhé je možné znovu použít výstup kroku z předchozího spuštění, pokud nedojde k source_directory žádným změnám, které by aktivovaly opětovné nahrání snímku.

Pro příkazy známé systémem nejsou vyžadovány source_directory , ale přesto je můžete poskytnout se závislými soubory přidruženými k kroku.

Následující příklad kódu ukazuje, jak použít CommandStep ve scénáři trénování strojového učení. Výpis souborů v Linuxu:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='list step',
                           command='ls -lrt',
                           compute_target=compute_target)

Spuštění skriptu pythonu:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='train step',
                           command='python train.py arg1 arg2',
                           source_directory=project_folder,
                           compute_target=compute_target)

Spuštění skriptu pythonu přes ScriptRunConfig:


   from azureml.core import ScriptRunConfig
   from azureml.pipeline.steps import CommandStep

   train_src = ScriptRunConfig(source_directory=script_folder,
                               command='python train.py arg1 arg2',
                               environment=my_env)
   trainStep = CommandStep(name='train step',
                           runconfig=train_src)

Další https://aka.ms/pl-first-pipeline podrobnosti o vytváření kanálů najdete obecně.

Metody

create_node

Vytvořte uzel pro CommandStep a přidejte ho do zadaného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.

create_node

Vytvořte uzel pro CommandStep a přidejte ho do zadaného grafu.

Tato metoda není určena k přímému použití. Když se vytvoří instance kanálu pomocí tohoto kroku, Azure ML automaticky předává požadované parametry prostřednictvím této metody, aby se tento krok mohl přidat do grafu kanálu, který představuje pracovní postup.

create_node(graph, default_datastore, context)

Parametry

Name Description
graph
Vyžadováno

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

default_datastore
Vyžadováno

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

context
Vyžadováno
<xref:_GraphContext>

Kontext grafu.

Návraty

Typ Description

Vytvořený uzel.