最近在跑midasklr大神的yolov5剪枝,之前用的6.0版本的剪枝,只有模式1 ,剪枝率只能在0.75左右徘徊,这次试下5.0版本,直接减去Bottleneck结构。想把遇到的一些bug记录一下,在这写下了第一篇博客。源代码链接见下
midasklr/yolov5prune (github.com)https://github.com/midasklr/yolov5prune
问题1.gbk codec cant decode byte 0xae in position 34
如图添加即可
问题2 AttributeError: Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\lzq\\yolov5prune-5.0\\models\\common.py'>
去volov5-6.0版本里面的model/common.py里面去找到这个SPPF类,然后copy进model/common.py文件中,导入一个warnings的包即可
问题3 RuntimeError: result type Float can't be cast to the desired output type __int64
这是因为yolov5-master版本和yolov5-5.0/yolov5-6.1等版本下的【utils】中的【loss.py】文件是不一样的,大概是yolov5-5.0/yolov5-6.1等版本在更新版本的时候出了问题,修改如下:
修改这三个bug之后,在虚拟环境下运行如下代码即可顺利跑通啦。
python train_sparsity2.py --st --sr 0.002 --weights yolov5s.pt --adam --epochs 300