InputPortBinding 클래스
원본에서 파이프라인 단계의 입력으로의 바인딩을 정의합니다.
InputPortBinding은 단계에 대한 입력으로 사용할 수 있습니다. 원본은 PipelineData, PortDataReference, DataReference, PipelineDataset 또는 OutputPortBinding일 수 있습니다.
InputPortBinding은 바인드 개체의 이름과 달라야 하는 경우 중복 입력/출력 이름을 피하기 위해 또는 단계 스크립트가 특정 이름을 갖기 위해 입력이 필요하기 때문에 단계 입력의 이름을 지정하는 데 유용합니다. 또한 PythonScriptStep 입력에 대해 bind_mode를 지정하는 데 사용할 수도 있습니다.
InputPortBinding을 초기화합니다.
- 상속
-
builtins.objectInputPortBinding
생성자
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
매개 변수
Name | Description |
---|---|
name
필수
|
문자, 숫자 및 밑줄만 포함할 수 있는 바인딩할 입력 포트의 이름입니다. |
bind_object
|
입력 포트에 바인딩할 개체입니다. Default value: None
|
bind_mode
|
소비 단계에서 "다운로드" 또는 "탑재" 메서드를 사용하여 데이터에 액세스할지 여부를 지정합니다. Default value: mount
|
path_on_compute
|
"다운로드" 모드의 경우 단계가 데이터를 읽을 로컬 경로입니다. Default value: None
|
overwrite
|
"download" 모드의 경우 기존 데이터를 덮어쓸지 여부를 나타냅니다. Default value: None
|
is_resource
|
입력이 리소스인지 여부를 나타냅니다. 리소스는 스크립트 폴더에 다운로드되고 런타임에 스크립트의 동작을 변경하는 방법을 제공합니다. Default value: False
|
additional_transformations
|
<xref:azureml.dataprep.Dataflow>
입력에 적용할 추가 변환입니다. 이전 단계의 출력이 Azure Machine Learning 데이터 세트인 경우에만 적용됩니다. Default value: None
|
name
필수
|
문자, 숫자 및 밑줄만 포함할 수 있는 바인딩할 입력 포트의 이름입니다. |
bind_object
필수
|
입력 포트에 바인딩할 개체입니다. |
bind_mode
필수
|
사용 단계에서 "다운로드" 또는 "탑재" 또는 "직접" 메서드를 사용하여 데이터에 액세스할지 여부를 지정합니다. |
path_on_compute
필수
|
"다운로드" 모드의 경우 단계가 데이터를 읽을 로컬 경로입니다. |
overwrite
필수
|
"download" 모드의 경우 기존 데이터를 덮어쓸지 여부를 나타냅니다. |
is_resource
필수
|
입력이 리소스인지 여부를 나타냅니다. 리소스는 스크립트 폴더에 다운로드되고 런타임에 스크립트의 동작을 변경하는 방법을 제공합니다. |
additional_transformations
필수
|
<xref:azureml.dataprep.Dataflow>
입력에 적용할 추가 변환입니다. 이전 단계의 출력이 Azure Machine Learning 데이터 세트인 경우에만 적용됩니다. |
설명
InputPortBinding은 파이프라인에서 데이터 종속성을 지정하는 데 사용되며 단계가 실행에 필요한 입력을 나타냅니다. InputPortBindings에는 입력 데이터가 생성되는 방식을 지정하는 bind_object라는 원본이 있습니다.
PipelineData 및 OutputPortBinding은 InputPortBinding에 대한 bind_object로 사용되어 이 단계에 대한 입력이 파이프라인의 다른 단계에서 생성되도록 지정할 수 있습니다.
InputPortBinding 및 PipelineData를 사용하여 파이프라인을 빌드하는 예는 다음과 같습니다.
from azureml.pipeline.core import PipelineData, InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
step_1_output = PipelineData("output", datastore=datastore, output_mode="mount")
step_1 = PythonScriptStep(
name='prepare data',
script_name="prepare_data.py",
compute_target=compute,
arguments=["--output", step_1_output],
outputs=[step_1_output]
)
step_2_input = InputPortBinding("input", bind_object=step_1_output)
step_2 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_2_input],
inputs=[step_2_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1, step_2])
이 예에서 "학습" 단계는 "데이터 준비" 단계의 출력을 입력으로 요구합니다.
PortDataReference, DataReference 또는 PipelineDataset은 InputPortBinding에 대한 bind_object로 사용되어 단계에 대한 입력이 지정된 위치에 이미 존재함을 지정할 수 있습니다.
InputPortBinding 및 DataReference를 사용하여 파이프라인을 빌드하는 예는 다음과 같습니다.
from azureml.data.data_reference import DataReference
from azureml.pipeline.core import InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
data_reference = DataReference(datastore=datastore, path_on_datastore='sample_data.txt', mode="mount")
step_1_input = InputPortBinding("input", bind_object=data_reference)
step_1 = PythonScriptStep(
name='train',
script_name="train.py",
compute_target=compute,
arguments=["--input", step_1_input],
inputs=[step_1_input]
)
pipeline = Pipeline(workspace=workspace, steps=[step_1])
이 예에서 "학습" 단계에는 DataReference에 의해 입력으로 지정된 "sample_data.txt" 파일이 필요합니다.
메서드
as_resource |
리소스로 사용할 수 있는 중복 입력 포트 바인딩을 가져옵니다. |
get_bind_object_data_type |
바인드 개체의 데이터 형식을 가져옵니다. |
get_bind_object_name |
바인드 개체의 이름을 가져옵니다. |
as_resource
리소스로 사용할 수 있는 중복 입력 포트 바인딩을 가져옵니다.
as_resource()
반환
형식 | Description |
---|---|
is_resource 속성이 True로 설정된 InputPortBinding입니다. |
get_bind_object_data_type
get_bind_object_name
특성
additional_transformations
입력 데이터에 적용할 추가 변환을 가져옵니다.
반환
형식 | Description |
---|---|
<xref:azureml.dataprep.Dataflow>
|
입력 데이터에 적용할 추가 변환입니다. |
bind_mode
소비 단계에서 데이터에 액세스하는 데 사용할 모드("다운로드" 또는 "탑재" 또는 "직접", "hdfs")를 가져옵니다.
반환
형식 | Description |
---|---|
바인드 모드("다운로드" 또는 "탑재" 또는 "직접" 또는 "hdfs"). |
bind_object
InputPort가 바인딩될 개체를 가져옵니다.
반환
형식 | Description |
---|---|
바인드 개체입니다. |