InputPortBinding 類別

定義從來源到管線步驟輸入的系結。

InputPortBinding 可作為步驟的輸入。 來源可以是 PipelineDataPortDataReferenceDataReferencePipelineDatasetOutputPortBinding

InputPortBinding 對於指定步驟輸入的名稱很有用,如果它應該與系結物件的名稱不同, (亦即,為了避免重複的輸入/輸出名稱,或因為步驟腳本需要輸入具有特定名稱) 。 它也可以用來指定輸入的bind_mode PythonScriptStep

初始化 InputPortBinding。

繼承
builtins.object
InputPortBinding

建構函式

InputPortBinding(name, bind_object=None, bind_mode='mount', path_on_compute=None, overwrite=None, is_resource=False, additional_transformations=None, **kwargs)

參數

name
str
必要

要系結的輸入埠名稱,只能包含字母、數位和底線。

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
預設值: None

要系結至輸入埠的物件。

bind_mode
str
預設值: mount

指定取用步驟會使用「下載」或「掛接」方法來存取資料。

path_on_compute
str
預設值: None

針對「下載」模式,步驟會從中讀取資料的本機路徑。

overwrite
bool
預設值: None

針對 「下載」模式,指出是否要覆寫現有的資料。

is_resource
bool
預設值: False

指出輸入是否為資源。 資源會下載到腳本資料夾,並提供在執行時間變更腳本行為的方法。

additional_transformations
<xref:azureml.dataprep.Dataflow>
預設值: None

要套用至輸入的其他轉換。 只有在上一個步驟的輸出是 Azure Machine Learning 資料集時,才會套用此功能。

name
str
必要

要系結的輸入埠名稱,只能包含字母、數位和底線。

bind_object
Union[PortDataReference, DataReference, PipelineData, OutputPortBinding, PipelineDataset]
必要

要系結至輸入埠的物件。

bind_mode
str
必要

指定取用步驟會使用「下載」或「掛接」或「直接」方法來存取資料。

path_on_compute
str
必要

針對「下載」模式,步驟會從中讀取資料的本機路徑。

overwrite
bool
必要

針對 「下載」模式,指出是否要覆寫現有的資料。

is_resource
bool
必要

指出輸入是否為資源。 資源會下載到腳本資料夾,並提供在執行時間變更腳本行為的方法。

additional_transformations
<xref:azureml.dataprep.Dataflow>
必要

要套用至輸入的其他轉換。 只有在上一個步驟的輸出是 Azure Machine Learning 資料集時,才會套用此功能。

備註

InputPortBinding 可用來指定管線中的資料相依性,它代表執行步驟所需的輸入。 InputPortBindings 的來源稱為 bind_object,指定如何產生輸入資料。

PipelineDataOutputPortBinding 可用來做為 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])

在此範例中,「定型」步驟需要「準備資料」步驟的輸出作為輸入。

PortDataReferenceDataReferencePipelineDataset 可用來做為 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_data_type()

傳回

資料類型名稱。

傳回類型

str

get_bind_object_name

取得系結物件的名稱。

get_bind_object_name()

傳回

系結物件名稱。

傳回類型

str

屬性

additional_transformations

取得要套用至輸入資料的其他轉換。

傳回

要套用至輸入資料的其他轉換。

傳回類型

<xref:azureml.dataprep.Dataflow>

bind_mode

取得模式 (「下載」或「掛接」或「直接」、「hdfs」) 取用步驟將用來存取資料。

傳回

系結模式 (「下載」或「掛接」或「直接」或「hdfs」) 。

傳回類型

str

bind_object

取得 InputPort 將系結至的物件。

傳回

bind 物件。

傳回類型

Union[<xref:azureml.pipeline.core.PortDataReference,azureml.data.data_reference.DataReference,azureml.pipeline.core.PipelineData,azureml.pipeline.core.OutputPortBinding,azureml.pipeline.core.PipelineDataset>]

data_reference_name

取得與 InputPortBinding 相關聯的資料參考名稱。

傳回

資料參考名稱。

傳回類型

str

data_type

取得輸入資料類型。

傳回

資料類型屬性。

傳回類型

str

is_resource

取得輸入是否為資源。

傳回

這是輸入資源。

傳回類型

name

輸入埠系結的名稱。

傳回

名稱。

傳回類型

str

overwrite

針對 「下載」模式,指出是否要覆寫現有的資料。

傳回

overwrite 屬性。

傳回類型

path_on_compute

取得步驟將讀取資料的本機路徑。

傳回

計算路徑。

傳回類型

str