PipelineParameter 클래스
파이프라인 실행에서 매개 변수를 정의합니다.
PipelineParameters를 사용하여 다양한 매개 변수 값으로 나중에 다시 제출할 수 있는 다용도 파이프라인을 구성합니다.
파이프라인 매개 변수를 초기화합니다.
- 상속
-
builtins.objectPipelineParameter
생성자
PipelineParameter(name, default_value)
매개 변수
Name | Description |
---|---|
name
필수
|
파이프라인 매개 변수의 이름입니다. |
default_value
필수
|
파이프라인 매개 변수의 기본값입니다. |
name
필수
|
파이프라인 매개 변수의 이름입니다. |
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는 DataPath 및 DataPathComputeBinding과 함께 사용하여 단계 입력을 지정할 수도 있습니다. 이를 통해 다양한 입력 데이터로 파이프라인을 실행할 수 있습니다.
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})