下载
中文
注册

模型后处理介绍

从当前版本不再演进,预计2024年退出,建议使用模型后处理(tensorinfer框架)

模型后处理为与模型一一对应的配套操作,在mxVision中其主要工作是用于对模型推理插件传入的推理结果张量进行处理,如在目标检测任务中,需要对目标框进行去重,排序,筛选等。最后将处理结果写入推理插件的元数据中。目前mxVision所支持的模型均已开发相应的后处理参见。如果现有后处理无法兼容用户模型,用户应自行开发后处理,步骤见本章后续介绍。

表1 已支持的模型及对应的后处理动态库

已支持模型名称

后处理类名称

推理插件使用的后处理动态库

YOLOv3

Yolov3PostProcessor

libMpYOLOv3PostProcessor.so

YOLOv3-tiny

ResNet-50

Resnet50PostProcessor

libresnet50postprocessor.so

Faster Rcnn

FasterRcnnPostProcessor

libfasterrcnnpostprocessor.so

SSD-VGG16

SsdvggPostProcessor

libssdvggpostprocessor.so

SSD MobileNet v1 FPN

SsdmobilenetfpnPostProcessor

libssdmobilenetfpnpostprocessor.so

CRNN

CrnnPostProcessor

libcrnnpostprocessor.so

后处理需要一个配置文件和一个标签文件。

  • 标签文件只需将所有类别的名称按类别ID顺序逐行输入即可(#开头的行不会被读取),如下所示。
    # This is modified from https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a
    unknown type
    tench, Tinca tinca
    goldfish, Carassius auratus
    great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias
    tiger shark, Galeocerdo cuvieri
    ……
  • 每个模型所需要的配置参数一般不相同,用户可自行定义增加。后处理基类中已经读取“CHECK_MODEL”的参数。
    • 当其为“true”时,会对模型的输出张量形状进行校验并拦截后处理不兼容的模型。
    • 当其为“false”时,会跳过模型校验。

    当前mxVision已支持的模型输出张量形状与配置文件参数请见模型支持参考