重点(本质结构重参数化)
我们可以看到基于YoloV7训练的cfg有两种yaml文件,一个是training文件夹,一个是deploy文件夹,这两种文件夹有啥不一样呢???
大家可以看下下面别人的issuse,,记住这个很关键,就是你选择哪个yaml训练对你后面导出的onnx是很关键的,后面我们会说到。
1、training中的yaml文件最后是采用IDetect,而deploy中的yaml文件采用的是Detect
2、IDetect是在最后一个C5结构输出增加一个add操作,之后在进行conv,然后在mul操作,而Detect则是和v5一样的操作,没有add mul。
3、一句话:deploy模型中自带后处理和nms(非极大值抑制),不需要自己在编写,强烈建议使用deploy进行训练,以下教程根据deploy配置文件进行编写
4、否则会报错:too many values to unpack (expected 7)
,则是因为模型输出不是:float32[Concatoutput_dim_0,7]
,而是 float32[1,25200,85]
,需要自己编写后处理,也可以去yolov5代码中复制:文章来源:https://www.toymoban.com/news/detail-650451.html
5、类似paddlepaddle框架中也有配置如下图,需要yolov5,onnx预处理和后处理代码的私信我
文章来源地址https://www.toymoban.com/news/detail-650451.html
到了这里,关于python使用onnx模型进行推理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!