当前位置:网站首页>AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm
2022-07-06 06:35:00 【振华OPPO】
我在ubuntu下已经成功运行了yolov5的多个版本,也出了环境部署教程。然后因为转换模型的需求,我重新非官网仓库下载了yolov5代码,但是该仓库作者并没有标明是在哪一个版本基础上进行魔改的。然后我就正常地使用6.1版本的模型,当然环境依赖不需要安装,yolov5的环境都是一样,一次安装,永久运行。
报错信息 |
---|
运行detect.py文件,然后就出现下面报错:
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.25, device='',
exist_ok=False, img_size=416, iou_thres=0.45, name='exp', project='runs/detect',
rknn_mode=False, save_conf=False, save_txt=False, source='rtsp://admin:@192.168.144.64/h264/ch1
/main/av_stream', update=False, view_img=False, weights='./models/yolov5s.pt')
YOLOv5 torch 1.9.0 CPU
Traceback (most recent call last):
File "detect.py", line 258, in <module>
detect()
File "detect.py", line 34, in detect
model = attempt_load(weights, map_location=device) # load FP32 model
File "/home/firefly/yolov5-rknn/models/experimental.py", line 118, in attempt_load
ckpt = torch.load(w, map_location=map_location) # load
File "/home/firefly/anaconda3/envs/yolo/lib/python3.8/site-packages/torch/serialization.py", line 607, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "/home/firefly/anaconda3/envs/yolo/lib/python3.8/site-packages/torch/serialization.py", line 882, in _load
result = unpickler.load()
File "/home/firefly/anaconda3/envs/yolo/lib/python3.8/site-packages/torch/serialization.py", line 875, in find_class
return super().find_class(mod_name, name)
AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from '/home/firefly/rknn/models/common.py'>
报错分析 |
---|
定位错误,发现是在models.common文件中,没有这个SPPF方法。网上的解决方法,都是从6.1版本中将SPPF方法复制过来,然后运行继续报错:
File "/home/firefly/yolov5-rknn/models/yolo.py", line 58, in forward
y[..., 2:4] = (y[..., 2:4] * 2) ** 2 * self.anchor_grid[i] # wh
RuntimeError: The size of tensor a (52) must match the size of tensor b (56) at non-singleton dimension 3
后面的报错就没完没了的解决了,而且根本不适用,那些评论区底下有好多急着求解决方法的同学。
那么我就开始自己摸索了,首先考虑是不是模型问题,model中是加载了weights的,是不是weights的版本和yolov5版本不匹配呢。然后我就请舍友帮我从github上下载了yolov5 3.0的权重文件,替换,果然成功解决问题。
报错解决 |
---|
从yolov5仓库下载你的代码版本对应的yolov5s.pt文件,否则会因为权重文件版本和源代码版本不匹配导致错误。比如我下载后,放到了models下,detect.py最后的weights路径也修改一下:
parser.add_argument('--weights', nargs='+', type=str, default='./models/yolov5s.pt', help='model.pt path(s)')
python detect.py
重新运行:
边栏推荐
- A 27-year-old without a diploma, wants to work hard on self-study programming, and has the opportunity to become a programmer?
- Changes in the number of words in English papers translated into Chinese
- Is it difficult for girls to learn software testing? The threshold for entry is low, and learning is relatively simple
- 記一個基於JEECG-BOOT的比較複雜的增删改功能的實現
- 端午节快乐Wish Dragon Boat Festival is happy
- Day 245/300 JS foreach data cannot be updated to the object after multi-layer nesting
- LeetCode 729. My schedule I
- Biomedical localization translation services
- 详解SQL中Groupings Sets 语句的功能和底层实现逻辑
- [ 英語 ] 語法重塑 之 動詞分類 —— 英語兔學習筆記(2)
猜你喜欢
How to do a good job in financial literature translation?
Lecture 8: 1602 LCD (Guo Tianxiang)
机器学习植物叶片识别
LeetCode - 152 乘积最大子数组
国际经贸合同翻译 中译英怎样效果好
翻译生物医学说明书,英译中怎样效果佳
我的创作纪念日
Modify the list page on the basis of jeecg boot code generation (combined with customized components)
How much is it to translate Chinese into English for one minute?
Cobalt strike feature modification
随机推荐
Day 248/300 关于毕业生如何找工作的思考
How to translate professional papers and write English abstracts better
On the first day of clock in, click to open a surprise, and the switch statement is explained in detail
Leetcode - 152 product maximum subarray
Defense (greed), FBI tree (binary tree)
[unity] how to export FBX in untiy
Introduction and underlying analysis of regular expressions
云服务器 AccessKey 密钥泄露利用
MySQL5.72. MSI installation failed
CS-证书指纹修改
Data security -- 13 -- data security lifecycle management
Difference between backtracking and recursion
[mqtt from getting started to improving series | 01] quickly build an mqtt test environment from 0 to 1
Day 245/300 JS forEach 多层嵌套后数据无法更新到对象中
Engineering organisms containing artificial metalloenzymes perform unnatural biosynthesis
ECS accessKey key disclosure and utilization
CS certificate fingerprint modification
[Yu Yue education] flower cultivation reference materials of Weifang Vocational College
Oscp raven2 target penetration process
(practice C language every day) reverse linked list II