InputPortBinding 类
定义从源到管道步骤输入的绑定。
InputPortBinding 可用作步骤的输入。 源可以是 PipelineData、PortDataReference、DataReference、PipelineDataset 或 OutputPortBinding。
如果步骤输入的名称应不同于绑定对象的名称(即避免输入/输出名称重复,或者步骤脚本需要输入具有特定名称),则 InputPortBinding 可用于指定步骤输入的名称。 它还可用于指定 PythonScriptStep 输入的 bind_mode。
- 继承
-
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[<xref:azureml.pipeline.core.PortDataReference,azureml.data.data_reference.DataReference,azureml.pipeline.core.PipelineData,azureml.pipeline.core.OutputPortBinding,azureml.pipeline.core.PipelineDataset>]
要绑定到输入端口的对象。
- additional_transformations
- <xref:azureml.dataprep.Dataflow>
要应用到输入的其他转换。 只有当上一步骤的输出是 Azure 机器学习数据集时才会应用此项。
注解
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
get_bind_object_data_type
get_bind_object_name
属性
additional_transformations
获取要应用于输入数据的其他转换。
返回
要应用于输入数据的其他转换。
返回类型
bind_mode
bind_object
获取 InputPort 将绑定到的对象。
返回
绑定对象。
返回类型
data_reference_name
data_type
is_resource
name
overwrite
path_on_compute
反馈
提交和查看相关反馈