模型后处理介绍
模型后处理为与模型一一对应的配套操作,在mxVision中其主要工作是用于对模型推理插件传入的推理结果张量进行处理,如在目标检测任务中,需要对目标框进行去重,排序,筛选等。最后将处理结果写入推理插件的元数据中。目前mxVision所支持的模型均已开发相应的后处理参见。如果现有后处理无法兼容用户模型,用户应自行开发后处理,步骤见本章后续介绍。
已支持模型名称 |
后处理类名称 |
推理插件使用的后处理动态库 |
---|---|---|
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已支持的模型输出张量形状与配置文件参数请见模型支持参考。
父主题: 模型后处理(modelinfer框架)