自定义模型后处理开发步骤(modelinfer框架)
开发步骤
继承“ModelPostProcessorBase.h”中的ModelPostProcessorBase基类,并自定义后处理类名。
用户重写基类中的Init()、DeInit()、Process()三个成员函数,参见表1。
- 用户可选择重写CheckModelCompatibility,用于对所读取模型的输出形状进行校验。
在后处理类中实现“std::shared_ptr<ModelPostProcessorBase> GetInstance() ”接口函数功能。
成员函数 |
说明 |
---|---|
Init() |
该接口仅调用一次,用于实现配置参数获取、业务逻辑初始化。 |
DeInit() |
该接口仅调用一次,用于实现去初始化任务(例如内存释放)。 |
Process() |
该接口由数据驱动,用于接收上游插件传入的数据,用于对模型输出进行处理,并将处理结果写入元数据。 |
MemoryDataToHost |
可选,该接口可用于将上游推理插件传入的推理结果张量搬运到Host侧。 |
LoadConfigDataAndLabelMap |
可选,该接口由Init()调用,用于实现配置参数获取。 |
GetModelTensorsShape |
可选,该接口由Init()调用,用于获取模型的输入输出张量形状。 |
CheckModelCompatibility |
可选,该接口由Init()调用,用于对所读取模型的输出形状进行校验。 |
对于目标检测类的模型,也可以让后处理依赖于已经开发好的ObjectPostProcessorBase基类,参见表2。
父主题: 自定义模型后处理开发