次の方法で共有


PipelineParameter クラス

パイプラインの実行でパラメーターを定義します。

PipelineParameters を使用して、さまざまなパラメーター値を使用して後で再送信できる汎用性の高いパイプラインを構築します。

パイプライン パラメーターを初期化します。

コンストラクター

PipelineParameter(name, default_value)

パラメーター

名前 説明
name
必須
str

パイプライン パラメーターの名前。

default_value
必須

パイプライン パラメーターの既定値。

name
必須
str

パイプライン パラメーターの名前。

default_value
必須

パイプライン パラメーターの既定値。

注釈

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 をパイプラインの他のステップに追加して、パイプライン内の複数のステップに共通の値を提供することもできます。 パイプラインには、複数の PipelineParameter を指定できます。

このパイプラインを送信し、"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 と共に使用して、ステップ入力を指定することもできます。 これにより、さまざまな入力データを使用してパイプラインを実行できます。

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})