PipelineParameter 类

定义管道执行中的参数。

使用 PipelineParameters 构造通用管道(可在以后使用不同参数值重新提交)。

初始化管道参数。

继承
builtins.object
PipelineParameter

构造函数

PipelineParameter(name, default_value)

参数

name
str
必需

管道参数的名称。

default_value
Union[int, str, bool, float, DataPath, PipelineDataset, FileDataset, TabularDataset]
必需

管道参数的默认值。

name
str
必需

管道参数的名称。

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 的值。 也可以将此 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 还可以与 DataPathDataPathComputeBinding 一起使用,以指定步骤输入。 这样,便可以使用各种输入数据运行管道。

将 DataPath 与 PipelineParameters 一起使用的示例如下:


   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”参数的默认值引用“workspaceblobstore”上名为“input_data”的文件。 如果提交管道时未指定此 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})