OutputPortBinding 类

定义管道步骤的命名输出。

OutputPortBinding 可用于指定将由某个步骤生成的数据类型以及数据的生成方式。 它可以与 InputPortBinding 一起使用,指定步骤输出是另一个步骤的必需输入。

继承
builtins.object
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
str
必需

OutputPortBinding 对象的名称,只能包含字母、数字和下划线。

datastore
Union[<xref:azureml.data.azure_storage_datastore.AbstractAzureStorageDatastore,azureml.data.azure_data_lake_datastore.AzureDataLakeDatastore>]
默认值: None

PipelineData 将驻留的数据存储。

output_name
str
默认值: None

输出的名称(如果使用 None 名称)。 只能包含字母、数字和下划线。

bind_mode
str
默认值: mount

指定生成步骤将使用“upload”、“mount”或“hdfs”方法来访问数据。

path_on_compute
str
默认值: None

对于“upload”模式,模块将输出写入到的路径。

is_directory
bool
默认值: None

输出是目录还是单个文件。

overwrite
bool
默认值: None

对于“upload”模式,是否覆盖现有数据。

data_type
str
默认值: None

可选。 数据类型可用于指定输出的预期类型,并详细说明使用步骤使用数据的方式。 可以是任何用户定义的字符串。

pipeline_output_name
str
默认值: None

如果提供,将使用 PipelineRun.get_pipeline_output() 提供此输出。 管道输出名称在管道中必须是唯一的。

training_output
TrainingOutput
默认值: None

定义训练结果的输出。 只有特定的训练需要此值,这会导致不同种类的输出,例如指标和模型。 例如,AutoMLStep 将生成指标和模型。 还可以定义用于获取最佳模型的特定训练迭代或指标。 对于 HyperDriveStep,你还可以定义要包括在输出中的特定模型文件。

dataset_registration
DatasetRegistration
默认值: None

可选。 这是一个内部参数。 请改用 PipelineData.as_dataset。

dataset_output
OutputDatasetConfig
默认值: None

可选。 这是一个内部参数。 请改用 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

获取生成步骤将用于创建数据的模式(“upload”、“mount”或“hdfs”)。

返回

绑定模式。

返回类型

str

data_type

获取将生成的数据类型。

返回

数据类型名称。

返回类型

str

dataset_registration

获取数据集注册信息。

返回

数据集注册信息。

返回类型

datastore

PipelineData 将驻留的数据存储。

返回

数据存储对象。

返回类型

Union[<xref:azureml.data.azure_storage_datastore.AbstractAzureStorageDatastore,azureml.data.azure_data_lake_datastore.AzureDataLakeDatastore>]

is_directory

输出是否是目录。

返回

is_directory

返回类型

name

OutputPortBinding 对象的名称。

返回

名称。

返回类型

str

overwrite

对于“upload”模式,指示是否覆盖现有数据。

返回

_overwrite

返回类型

path_on_compute

对于“upload”模式,模块将输出写入到的路径。

返回

path_on_compute

返回类型

str

pipeline_output_name

获取与此 OutputPortBinding 对应的管道输出的名称。

返回

管道输出名称。

返回类型

str

training_output

获取训练输出。

返回

训练输出

返回类型