后处理插件基类
模型后处理插件用于对模型推理的输出张量进行后处理并将对应结果写入元数据。由于不同推理任务类型的后处理所需要的输入,以及输出类型都不相同,因此需要采用不同的后处理插件。为了易于复用,Vision SDK已将部分接口和成员提取到后处理基类中。对于每类任务,如目标检测任务,采用动态加载后处理so的方法,实现支持各种模型(如YOLOv3,FasterRCNN,SsdVgg-16等模型)的多态性。
功能描述 |
用于对模型推理的输出张量进行后处理。 |
---|---|
约束限制 |
后处理插件当前需要连接在mxpi_tensorinfer推理插件之后使用,只接受MxpiTensorPackageList作为元数据输入。 父类不生成插件,子类继承父类生成插件。 |
父类类名 |
MxModelPostProcessorBase,MxImagePostProcessorBase(图像后处理基类,继承自MxModelPostProcessorBase)。 |
输入和输出 |
|
端口格式(caps) |
|
属性 |
请参见表1。 |
属性名 |
描述 |
是否为必选项 |
是否可修改 |
---|---|---|---|
deviceId |
使用的Ascend设备的芯片编号,无需自己设置,统一由stream_config字段中的deviceId属性设置。 |
否 |
是 |
postProcessLibPath |
后处理动态链接库so文件路径。如果不指定,则不进行后处理,直接将模型推理结果写入元数据MxpiTensorPackageList并将内存拷贝到outputDeviceId指定位置。 |
是 |
是 |
labelPath |
后处理类别标签路径。 |
否 |
是 |
dataSource |
输入数据对应索引(通常情况下为上游元件名称),默认为上游插件对应输出端口的key值。 |
否 |
是 |
postProcessConfigPath |
后处理配置文件路径。 |
是 |
是 |
postProcessConfigContent |
后处理配置。 |
否 |
是 |
dataSourceResize |
仅在继承MxImagePostProcessorBase(图像后处理基类)的子类插件中拥有该属性。是否需要先将模型后处理中的坐标映射回缩放前的图片。不设置该属性的默认情况下从推理插件前一个插件获取。如果获取不到,则不会进行坐标的缩放还原。 |
否 |
是 |
dataSourceRoiBoxes |
仅在继承MxImagePostProcessorBase(图像后处理基类)的子类插件中拥有该属性。是否需要先将模型推理的坐标映射回抠图前的原图上。不设置该属性的默认情况下不映射到原图上。如需要映射,则输入对应的抠图插件名称。 |
否 |
是 |
dataSourceImage |
内部调试中,请勿使用。 |
否 |
否 |
属性名 |
描述 |
是否为必选项 |
是否可修改 |
---|---|---|---|
funcLanguage |
设置成后处理插件的开发语言,比如C++或Python。 |
否 |
是 |
postProcessLibPath |
后处理动态链接库so文件目录,该目录下存在后处理的Python文件或so。 |
是 |
是 |
className |
后处理类的名称。 |
是 |
是 |
pythonModule |
加载的后处理module名称,与Python或so内的module名称统一。 |
是 |
是 |
labelPath |
后处理类别标签路径。 |
否 |
是 |
dataSource |
输入数据对应索引(通常情况下为上游元件名称)。 |
是 |
是 |
postProcessConfigPath |
后处理配置文件路径。 |
是 |
是 |
deviceId |
使用的Ascend设备的芯片编号,无需自己设置,统一由stream_config字段中的deviceId属性设置。 |
否 |
是 |
dataSourceResize |
仅在继承MxImagePostProcessorBase(图像后处理基类)的子类插件中拥有该属性。是否需要先将模型后处理中的坐标映射回缩放前的图片。不设置该属性的默认情况下从推理插件前一个插件获取。如果获取不到,则不会进行坐标的缩放还原。 |
否 |
是 |
dataSourceRoiBoxes |
仅在继承MxImagePostProcessorBase(图像后处理基类)的子类插件中拥有该属性。是否需要先将模型推理的坐标映射回抠图前的原图上。不设置该属性的默认情况下不映射到原图上。如需要映射,则输入对应的抠图插件名称。 |
否 |
是 |
