다음을 통해 공유


PipelineParameter 클래스

파이프라인 실행에서 매개 변수를 정의합니다.

PipelineParameters를 사용하여 다양한 매개 변수 값으로 나중에 다시 제출할 수 있는 다용도 파이프라인을 구성합니다.

파이프라인 매개 변수를 초기화합니다.

상속
builtins.object
PipelineParameter

생성자

PipelineParameter(name, default_value)

매개 변수

Name Description
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는 파이프라인의 다른 단계에 추가하여 파이프라인의 여러 단계에 공통 값을 제공할 수도 있습니다. 파이프라인에는 여러 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_arg"가 pipeline_parameters 사전에 지정되지 않은 경우 파이프라인이 구성될 때 제공된 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})