模型后处理介绍
模型后处理为与模型一一对应的配套操作,在mxVision中其主要工作是用于对模型推理插件传入的推理结果张量进行处理,如在目标检测任务中,需要对目标框进行去重,排序,筛选等,最后将处理结果写入目标信息的类对象中,传递回给目标检测后处理插件进行写入元数据以传递给下游插件。目前mxVision所支持的模型均已开发相应的后处理动态库,具体请参见表1。请用户根据实际情况选择现有后处理插件或自行开发适配所需模型,具体操作步骤请参见后处理类开发步骤。
已支持模型名称 |
后处理类名称 |
推理插件使用的后处理动态库 |
---|---|---|
YOLOv3 |
Yolov3PostProcess |
modelpostprocessors/libyolov3postprocess.so |
YOLOv3-tiny |
||
ResNet-50 |
Resnet50PostProcess |
modelpostprocessors/libresnet50postprocess.so |
Faster Rcnn |
FasterRcnnPostProcess |
modelpostprocessors/libfasterrcnnpostprocess.so |
SSD-VGG16 |
Ssdvgg16PostProcess |
modelpostprocessors/libssdvgg16postprocess.so |
SSD MobileNet v1 FPN |
SsdMobilenetv1FpnPostProcess |
modelpostprocessors/libssdmobilenetv1fpnpostprocess.so |
CRNN |
CrnnPostProcessor |
modelpostprocessors/libcrnnpostprocess.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 carchariasB tiger shark, Galeocerdo cuvieri ……
- 每个模型所需要的配置参数一般不相同,用户可自行定义增加。后处理基类中已经读取“CHECK_MODEL”参数,当值为“true”时会对模型的输出张量形状进行校验,并拦截后处理不兼容的模型,当值为“false”时会跳过模型校验。当前mxVision已支持的模型输出张量形状与配置文件参数请见模型后处理配置参数。
父主题: 模型后处理(tensorinfer框架)