InputPortBinding 類別
定義從來源到管線步驟輸入的系結。
InputPortBinding 可作為步驟的輸入。 來源可以是 PipelineData 、 PortDataReference 、 DataReference 、 PipelineDataset 或 OutputPortBinding 。
InputPortBinding 對於指定步驟輸入的名稱很有用,如果它應該與系結物件的名稱不同, (亦即,為了避免重複的輸入/輸出名稱,或因為步驟腳本需要輸入具有特定名稱) 。 它也可以用來指定輸入的bind_mode PythonScriptStep 。
初始化 InputPortBinding。
- 繼承
-
builtins.objectInputPortBinding
建構函式
InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)
參數
- bind_object
- Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
要系結至輸入埠的物件。
- additional_transformations
- <xref:azureml.dataprep.Dataflow>
要套用至輸入的其他轉換。 只有在上一個步驟的輸出是 Azure Machine Learning 資料集時,才會套用此功能。
- bind_object
- Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
要系結至輸入埠的物件。
- 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])
在此範例中,「train」 步驟需要 DataReference 所指定的 「sample_data.txt」 檔案作為輸入。
方法
as_resource |
取得可做為資源的重複輸入埠系結。 |
get_bind_object_data_type |
取得系結物件的資料類型。 |
get_bind_object_name |
取得系結物件的名稱。 |
as_resource
取得可做為資源的重複輸入埠系結。
as_resource()
傳回
具有 is_resource 屬性的 InputPortBinding 會設定 True。
傳回類型
get_bind_object_data_type
get_bind_object_name
屬性
additional_transformations
取得要套用至輸入資料的其他轉換。
傳回
要套用至輸入資料的其他轉換。
傳回類型
bind_mode
bind_object
取得 InputPort 將系結至的物件。
傳回
bind 物件。
傳回類型
data_reference_name
data_type
is_resource
name
overwrite
path_on_compute
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應