概述
1.想做的事情: yolov3的pth模型转成onnx,并用opencv调用
2. 原因: 希望不引入深度学习的框架,编译tensorflow谁编译谁懂!而且包文件也会小
做法:
1.参考大神的思路: 将yolov3的三个特征图输出重写,输出格式为xyxy,将upsample用转置卷积重写
2. yolov3训练的时候用新的网络正常训练,测试的时候np.concatenate三个特征图的输出去预测,这两个结果验证过是一样的
3. 想做的事: 将网络输出的pth模型转成onnx, 对onnx模型预测
4. 问题: onnx预测结果和3出来的不一样,框稀疏的地方结果一致,框比较密的地方会多框,且onnx出来的conf会比3出来的大些
2021年3月25更新:
遇到4这种问题从nms那边着手考虑,这是很典型的nms问题!
我出现这种问题的原因是yolov3网络里的nms那边的iou是giou,onnx那边用numpy写的原始iou,重新改成giou就一致了!
最后
以上就是淡淡汉堡为你收集整理的yolov3转onnx和原来torch的预测结果一致的全部内容,希望文章能够帮你解决yolov3转onnx和原来torch的预测结果一致所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复