PipelineParameter 類別
定義管線執行中的參數。
使用 PipelineParameters 來建構多用途的管線,稍後可以使用不同的參數值重新提交。
初始化管線參數。
- 繼承
-
builtins.objectPipelineParameter
建構函式
PipelineParameter(name, default_value)
參數
- default_value
- Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
管線參數的預設值。
- default_value
- Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
管線參數的預設值。
備註
建構管線時,可以將 PipelineParameters 新增至任何步驟。 提交管線時,可以指定這些參數的值。
將 PipelineParameter 新增至步驟的範例如下:
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)
在此範例中,已將名稱為 「pipeline_arg」 的 PipelineParameter 新增至 PythonScriptStep 的引數。 執行 Python 腳本時,管線參數的值將會透過命令列引數來提供。 此 PipelineParameter 也可以新增至管線中的其他步驟,以提供管線中多個步驟的一般值。 管線可以指定多個 PipelineParameters。
若要提交此管線,並指定 「pipeline_arg」 PipelineParameter 使用的值:
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = Experiment(ws, 'train').submit(pipeline, pipeline_parameters={"pipeline_arg": "test_value"})
注意:如果在pipeline_parameters字典中未指定 「pipeline_arg」,則建構管線時提供的 PipelineParameter 預設值會用於 (在此情況下,提供的預設值為 「default_val」) 。
多行參數不能當做 PipelineParameters 使用。
PipelineParameters 也可以與 和 DataPathComputeBinding 搭配 DataPath 使用,以指定步驟輸入。 這可讓管線以不同的輸入資料執行。
搭配 PipelineParameters 使用 DataPath 的範例如下:
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)
在此情況下,「input_data」 參數的預設值會參考名為 「input_data」 之 「workspaceblobstore」 上的檔案。 如果提交管線而不指定這個 PipelineParameter 的值,則會使用預設值。 若要提交此管線,並指定 「input_data」 PipelineParameter 使用的值:
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})
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應