PipelineParameter Třída
Definuje parametr při spuštění kanálu.
Pomocí PipelineParameters můžete vytvořit univerzální kanály, které se dají později znovu odeslat s různými hodnotami parametrů.
Inicializace parametrů kanálu
- Dědičnost
-
builtins.objectPipelineParameter
Konstruktor
PipelineParameter(name, default_value)
Parametry
- default_value
- Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
Výchozí hodnota parametru kanálu.
- default_value
- Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
Výchozí hodnota parametru kanálu.
Poznámky
Parametry pipelineparameters je možné přidat do libovolného kroku při vytváření kanálu. Při odeslání kanálu je možné zadat hodnoty těchto parametrů.
Příklad přidání PipelineParameter do kroku je následující:
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
pipeline_param = PipelineParameter(name="pipeline_arg", default_value="default_val")
train_step = PythonScriptStep(script_name="train.py",
arguments=["--param1", pipeline_param],
target=compute_target,
source_directory=project_folder)
V tomto příkladu byl do argumentů PythonScriptStep přidán Parametr PipelineParameter s názvem "pipeline_arg". Při spuštění skriptu Pythonu se hodnota PipelineParameter poskytne prostřednictvím argumentů příkazového řádku. Tento parametr PipelineParameter je také možné přidat do dalších kroků v kanálu a poskytnout tak společné hodnoty pro více kroků v kanálu. Kanály můžou mít zadaných více parametrů PipelineParameters.
Pokud chcete odeslat tento kanál a zadat hodnotu parametru PipelineParameter "pipeline_arg", použijte:
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
Poznámka: Pokud ve slovníku pipeline_parameters nebyla zadána hodnota "pipeline_arg", použije se výchozí hodnota PipelineParameter zadaná při vytváření kanálu (v tomto případě byla zadaná výchozí hodnota "default_val").
Víceřádkové parametry se nedají použít jako PipelineParameters.
PipelineParameters lze použít také s DataPath a DataPathComputeBinding k určení vstupů kroků. To umožňuje spuštění kanálu s různými vstupními daty.
Příklad použití dataPath s PipelineParameters je následující:
from azureml.core.datastore import Datastore
from azureml.data.datapath import DataPath, DataPathComputeBinding
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import PipelineParameter
datastore = Datastore(workspace=workspace, name="workspaceblobstore")
datapath = DataPath(datastore=datastore, path_on_datastore='input_data')
data_path_pipeline_param = (PipelineParameter(name="input_data", default_value=datapath),
DataPathComputeBinding(mode='mount'))
train_step = PythonScriptStep(script_name="train.py",
arguments=["--input", data_path_pipeline_param],
inputs=[data_path_pipeline_param],
compute_target=compute_target,
source_directory=project_folder)
V tomto případě výchozí hodnota parametru "input_data" odkazuje na soubor v "workspaceblobstore" s názvem "input_data". Pokud se kanál odešle bez zadání hodnoty tohoto parametru PipelineParameter, použije se výchozí hodnota. Pokud chcete odeslat tento kanál a zadat hodnotu parametru "input_data" PipelineParameter, použijte:
from azureml.pipeline.core import Pipeline
from azureml.data.datapath import DataPath
pipeline = Pipeline(workspace=ws, steps=[train_step])
new_data_path = DataPath(datastore=datastore, path_on_datastore='new_input_data')
pipeline_run = experiment.submit(pipeline,
pipeline_parameters={"input_data": new_data_path})
Váš názor
Odeslat a zobrazit názory pro