OutputPortBinding 类
定义管道步骤的命名输出。
OutputPortBinding 可用于指定一个步骤生成的数据类型以及数据生成方式。 它可用于 InputPortBinding 指定步骤输出是另一步的必需输入。
初始化 OutputPortBinding。
构造函数
OutputPortBinding(name, datastore=None, output_name=None, bind_mode='mount', path_on_compute=None, is_directory=None, overwrite=None, data_type=None, pipeline_output_name=None, training_output=None, dataset_registration=None, dataset_output=None)
参数
名称 | 说明 |
---|---|
name
必需
|
OutputPortBinding 对象的名称,该对象只能包含字母、数字和下划线。 |
datastore
|
PipelineData 将驻留在的数据存储。 默认值: None
|
output_name
|
如果使用了“无”名称,则输出的名称。 只能包含字母、数字和下划线。 默认值: None
|
bind_mode
|
指定生成步骤是使用“upload”还是“mount”或“hdfs”方法来访问数据。 默认值: mount
|
path_on_compute
|
对于“上传”模式,模块将输出写入到的路径。 默认值: None
|
is_directory
|
输出是目录还是单个文件。 默认值: None
|
overwrite
|
对于“上传”模式,是否覆盖现有数据。 默认值: None
|
data_type
|
可选。 数据类型可用于指定输出的预期类型,并详细说明使用步骤应如何使用数据。 可以是任何用户定义的字符串。 默认值: None
|
pipeline_output_name
|
如果提供了此输出,可以使用 PipelineRun.get_pipeline_output()。 管道输出名称在管道中必须是唯一的。 默认值: None
|
training_output
|
定义训练结果的输出。 这仅适用于导致不同类型的输出(如指标和模型)的特定训练。 例如, AutoMLStep 生成指标和模型。 还可以定义用于获取最佳模型的特定训练迭代或指标。 对于 HyperDriveStep,还可以定义要包含在输出中的特定模型文件。 默认值: None
|
dataset_registration
|
可选。 这是一个内部参数。 应改用PipelineData.as_dataset。 默认值: None
|
dataset_output
|
可选。 这是一个内部参数。 应使用 OutputFileDatasetConfig intead。 默认值: None
|
name
必需
|
OutputPortBinding 对象的名称,该对象只能包含字母、数字和下划线。 |
datastore
必需
|
PipelineData 将驻留在的数据存储。 |
output_name
必需
|
如果使用了“无”名称,则输出的名称。 只能包含字母、数字和下划线。 |
bind_mode
必需
|
指定生成步骤是使用“upload”还是“mount”或“hdfs”方法来访问数据。 |
path_on_compute
必需
|
对于“上传”模式,模块将输出写入到的路径。 |
is_directory
必需
|
如果输出是目录,则为 |
overwrite
必需
|
对于“上传”模式,是否覆盖现有数据。 |
data_type
必需
|
可选。 数据类型可用于指定输出的预期类型,并详细说明使用步骤应如何使用数据。 可以是任何用户定义的字符串。 |
pipeline_output_name
必需
|
如果提供了此输出,可以使用 PipelineRun.get_pipeline_output()。 管道输出名称在管道中必须是唯一的。 |
training_output
必需
|
定义训练结果的输出。 这仅适用于导致不同类型的输出(如指标和模型)的特定训练。 例如, AutoMLStep 生成指标和模型。 还可以定义用于获取最佳模型的特定训练迭代或指标。 对于 HyperDriveStep,还可以定义要包含在输出中的特定模型文件。 |
dataset_registration
必需
|
可选。 这是一个内部参数。 应改用PipelineData.as_dataset。 |
dataset_output
必需
|
可选。 这是一个内部参数。 应使用 OutputFileDatasetConfig intead。 |
注解
OutputPortBinding 可以像生成管道以指定步骤输入和输出时一样 PipelineData 使用。 区别在于,需要与 OutputPortBinding 一起使用 InputPortBinding 才能用作另一步骤的输入。
使用 OutputPortBinding 构造管道的示例如下所示:
from azureml.pipeline.core import OutputPortBinding, InputPortBinding, Pipeline
from azureml.pipeline.steps import PythonScriptStep
step_1_output = OutputPortBinding("output", datastore=datastore)
step_1 = PythonScriptStep(
name='process data',
script_name="process_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])
这将创建包含两个步骤的管道。 过程步骤将首先执行,然后在完成之后,将执行训练步骤。 Azure ML 会将进程步骤生成的输出(如 OutputPortBinding 对象所述)提供给训练步骤。
属性
bind_mode
data_type
dataset_registration
datastore
PipelineData 将驻留在的数据存储。
返回
类型 | 说明 |
---|---|
数据存储对象。 |