十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
yolov7 导出模型在C++中实际应用
成都创新互联为客户提供专业的成都网站建设、网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。参照大神:https://github.com/hpc203/yolov7-opencv-onnxrun-cpp-py,进行部署,分为OpenCV和ONNXRuntime两种方法,用大神提供的模型均能跑通,但是按照Yolo7官方导出方法导出的模型预测有问题。
解决方案:采用netron对比自己导出的模型和大神提供的模型,最后输出不一样;
几番折腾,仅采用--weights weights/yolov7.pt --grid命令导出模型能使输出维度一致,后查阅相关资料,----simplify是模型裁剪的指令,最后通过如下指令来导出模型:
--weights weights/yolov7.pt --grid ----simplify
以上导出模型能在ONNXRuntime中预测,但在Opencv中forward时会出错,至今未找到原因,做做应用一种方法就够了,后面没再研究
另外此过程中有怀疑ONNXRuntime版本问题,导致预测不对,将ONNXRuntime升到1.12后出现了如下的提示:
The given version [12] is not supported, only version 1 to 11 is supported in this build.
也是几番折腾发现将onnxruntime.dll,onnxruntime_providers_shared.dll拷贝到根目录下不再报错,本人对C++不咋熟悉,仅记下这个问题
至此能用yolov7系列网络来做做实际的应用
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧