总体说明
模型后处理目前支持tensorinfer框架以及modelinfer框架。tensorinfer仅支持API接口方式,支持用户自定义模型后处理并支持业界常用模型后处理。modelinfer支持API接口方式和流程编排开发方式。API接口方式支持用户自定义模型后处理,流程编排开发方式支持自定义模型后处理插件并提供业界常用模型后处理插件。
模型后处理是与模型一一对应的配套操作,在mxVision中其主要工作是用于对模型推理插件传入的推理结果张量进行处理,如在目标检测任务中,需要对目标框进行去重,排序,筛选等,最后将处理结果写入目标信息的类对象中,传递回给目标检测后处理插件进行写入元数据以传递给下游插件。
目前mxVision所支持的模型均已开发相应的后处理动态库,具体请参见表1。请用户根据实际情况选择现有后处理插件或自行开发适配所需模型。
后处理需要一个配置文件和一个标签文件。
- 标签文件需将所有类别的名称按类别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已支持的模型输出张量形状与配置文件参数请见模型后处理配置参数。
开发流程
图1 自定义模型后处理开发流程图
父主题: 自定义模型后处理开发