python使用onnx模型进行推理
重点(本质结构重参数化)
我们可以看到基于YoloV7训练的cfg有两种yaml文件,一个是training文件夹,一个是deploy文件夹,这两种文件夹有啥不一样呢???
大家可以看下下面别人的issuse,,记住这个很关键,就是你选择哪个yaml训练对你后面导出的onnx是很关键的,后面我们会说到。
training中的yaml文件最后是采用IDetect,而deploy中的yaml文件采用的是Detect
IDetect是在最后一个C5结构输出增加一个add操作,之后在进行conv,然后在mul操作,而Detect则是和v5一样的操作,没有add mul。
一句话:deploy模型中自带后处理和nms(非极大值抑制),不需要自己在编写,强烈建议使用deploy进行训练,以下教程根据deploy配置文件进行编写
否则会报错:too many values to unpack (expected 7)
,则是因为模型输出不是:float32[Concatoutput_dim_0,7]
,而是 float32[1,25200,85]
,需要自己编写后处理,也可以去yolov5代码中复制:
类似paddlepaddle框架中也有配置如下图,需要yolov5,onnx预处理和后处理代码的私信我
来源地址:https://blog.csdn.net/changzengli/article/details/129541176
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341