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._PythonScriptStepBaseCommandStep
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
|
Příkaz ke spuštění nebo cesta spustitelného souboru nebo skriptu vzhledem k Default value: None
|
name
|
Název kroku. Pokud není zadáno, použije se první slovo v objektu 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 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
|
list[PipelineData nebo
OutputDatasetConfig nebo
PipelineOutputAbstractDataset nebo
OutputPortBinding]
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
|
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
|
Volitelná značka verze, která označuje změnu funkčnosti kroku. Default value: None
|
command
Vyžadováno
|
Příkaz ke spuštění nebo cesta spustitelného souboru nebo skriptu vzhledem k |
name
Vyžadováno
|
Název kroku. Pokud není zadáno, použije se první slovo v objektu |
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
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
|
list[PipelineData nebo
OutputDatasetConfig nebo
PipelineOutputAbstractDataset nebo
OutputPortBinding]
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
|
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
|
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. |