“解决 YOLOv5 5.0 报错日常:无法在 ‘D:\\Pycharm\\Code\\yolov5’ 的 ‘models.common’ 模块上获取属性 ‘SPPF'”

 看我出现那么多例子,最后才能正常预测的,是有点小心酸

第一个报错 没有sppf类的

Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\Pycharm\\Code\\yolov5-5.0\\models\\common.py'>
 

Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\Pycharm\\Code\\yolov5-5.0\\models\\common.py'>

紧接着第二个报错

RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton
 

RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at non-singleton

下面给出解决方案

针对第一个问题

打开它,找到spp那个类149行左右

在spp类的下面添加sppf类

 

 先回溯一下本源,这个model里面的common文件确实没有SPPF类别

那么就得去别的版本把这个sppf在逃公主拿下

这里找到6.0

 

根据我这个路径找到6.0的common

找到sppf

 复制过来,拷贝到我们的common文件里面

 

 这是原来的相对位置

其实在我们的common中放spp的上面和下面都没有关系的

第一个问题呢算是解决了,但是不出意外还是要报错

就跟我上面的那个应该一模一样

出现那个原因是因为权重文件不匹配,你只需要知道自己装的是哪个yolov5版本 1.0 2.0

我的是5.0 就要去找5.0的权重,本来是之前它自动就会下好的,所以不应该出现意外的

但是没有办法 直接给出去哪下吧

 

 打开之后往下翻

找到我划线的

  

 把它下下来

注意哦 小细节一样要在

右击复制paste

不然复制到权重文件还是会报错的 

复制到这里还是失败的哦

最后 

 

出现在这里就行了

接着去愉快的跑detect吧

这就是YOLOv5 的hello world哦

 

 

 恭喜你们,也恭喜我自己,开始了object detection 的一小步

 

物联沃分享整理
物联沃-IOTWORD物联网 » “解决 YOLOv5 5.0 报错日常:无法在 ‘D:\\Pycharm\\Code\\yolov5’ 的 ‘models.common’ 模块上获取属性 ‘SPPF'”

发表评论