OutputPortBinding 类
定义管道步骤的命名输出。
OutputPortBinding 可用于指定将由某个步骤生成的数据类型以及数据的生成方式。 它可以与 InputPortBinding 一起使用,指定步骤输出是另一个步骤的必需输入。
初始化 OutputPortBinding。
- 继承
-
builtins.objectOutputPortBinding
构造函数
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 名称)。 只能包含字母、数字和下划线。 默认值: None
|
bind_mode
|
指定生成步骤将使用“upload”、“mount”或“hdfs”方法来访问数据。 默认值: mount
|
path_on_compute
|
对于“upload”模式,模块将输出写入到的路径。 默认值: None
|
is_directory
|
输出是目录还是单个文件。 默认值: None
|
overwrite
|
对于“upload”模式,是否覆盖现有数据。 默认值: 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。 默认值: None
|
name
必需
|
OutputPortBinding 对象的名称,只能包含字母、数字和下划线。 |
datastore
必需
|
PipelineData 将驻留的数据存储。 |
output_name
必需
|
输出的名称(如果使用 None 名称)。 只能包含字母、数字和下划线。 |
bind_mode
必需
|
指定生成步骤将使用“upload”、“mount”或“hdfs”方法来访问数据。 |
path_on_compute
必需
|
对于“upload”模式,模块将输出写入到的路径。 |
is_directory
必需
|
如果输出是目录,则为 |
overwrite
必需
|
对于“upload”模式,是否覆盖现有数据。 |
data_type
必需
|
可选。 数据类型可用于指定输出的预期类型,并详细说明使用步骤使用数据的方式。 可以是任何用户定义的字符串。 |
pipeline_output_name
必需
|
如果提供,将使用 PipelineRun.get_pipeline_output() 提供此输出。 管道输出名称在管道中必须是唯一的。 |
training_output
必需
|
定义训练结果的输出。 只有特定的训练需要此值,这会导致不同种类的输出,例如指标和模型。 例如,AutoMLStep 将生成指标和模型。 还可以定义用于获取最佳模型的特定训练迭代或指标。 对于 HyperDriveStep,你还可以定义要包括在输出中的特定模型文件。 |
dataset_registration
必需
|
可选。 这是一个内部参数。 请改用 PipelineData.as_dataset。 |
dataset_output
必需
|
可选。 这是一个内部参数。 请改用 OutputFileDatasetConfig。 |
注解
在生成管道时,可以按类似于 PipelineData 的方式来使用 OutputPortBinding,指定步骤输入和输出。 不同之处在于,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 将驻留的数据存储。
返回
类型 | 说明 |
---|---|
数据存储对象。 |