chaoyu1999 / FPSAutomaticAiming

基于yolov5的FPS游戏AI。
Apache License 2.0
470 stars 134 forks source link

属性错误! #10

Open RoarthRyoma opened 2 years ago

RoarthRyoma commented 2 years ago

用PyCharm运行了一下显示无法获取到 ‘SPPF’ AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from D:\FPSAutomaticAiming-main\models\common.py'>

这是怎么回事啊大佬!

chaoyu1999 commented 2 years ago

解决办法:

版本权重出现问题

https://github.com/ultralytics/yolov5/releases/download/v6.0/yolov5m.pt

RoarthRyoma commented 2 years ago

感谢大佬的回复,但是我在修改了一些代码之后,依旧遇到了同样的问题,仍然是 AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from 'F:\\ArtificialIntelligence\\FPSAutomaticAiming-main\\models\\common.py'> 我描述一下我修改的部分: 将您贴出链接的yolov5m.pt下载下来之后放到了主文件夹下,和主运行文件Main.py同级,而后我检索了整个文件夹(FPSAutomaticAiming-main)里所有包含yolov5s.pt的字段并打算将其替换成yolov5m.pt,然后我发现在['CFDetect.py', 'detect.py', '\models\export.py', '\runs\train\exp\opt.yaml', 'test.py', 'train.py', '\utils\google_utils.py']这些文件内发现了该字段(还在pycache也发现了该字段,不过看文件夹名字应该属于缓存文件,我就没去改),其中detect.py 和google_utils.py中同样出现了yolov5m.pt所以我也没有修改,test.py可能也不需要修改但是考虑到我不懂这个程序的逻辑情况下抱着谨慎的态度我也修改了,并且在opt.yaml中,除了直接替换yolov5s.pt之外,我还注意到cfg,这个我猜测是配置,所以我将yolov5s改成yolov5m。 然后由于在单位使用的电脑显卡是GT 730的,如果要用cuda加速需要安装cuda8.0的包,我直接选择了cpu,于是将CFDetect.py中的device = torch.device('cuda')改成cpu,到这里我的修改就结束了。 晚上回去用能cuda加速的自己电脑跑一下,但现在是不行了。

由于是初级程序员并且对深度学习很感兴趣所以最近才开始学,对于本程序的认识可以说只能勉强看懂程序的功能部分但是算法部分以及为何如此设计完全不明白,还望不吝赐教,不胜感激!

chaoyu1999 commented 2 years ago

哈哈, 我也是刚开始学,代码设计部分还有许多不规范,如果程序有啥问题可以互相交流讨论