ZJU-lishuang / yolov5_prune

yolov5 prune,Support V2, V3, V4 and V6 versions of yolov5
Apache License 2.0
560 stars 137 forks source link

infer time and map (yolov5l prune vs yolov5s)? #6

Closed codylcs closed 3 years ago

codylcs commented 3 years ago

在精度和耗时方面yolov5做了一个权衡,https://github.com/ultralytics/yolov5/issues/304,这里Glenn Jocher并不是特别建议自己作剪枝,如果追求更改的精度,可以选用大模型,如果追求更快的速度,用yolov5_s,如果用大模型去做剪枝和yolov5_s作对比的话,速度和精度会有优势吗?有相关实验结论吗?(yolov3元模型比较大的,200M以上,才有了剪枝的必要,yolov5同样适用剪枝吗?另一个问题还没有关闭,https://github.com/ZJU-lishuang/yolov5_prune/issues/4,发现用yolov5_v2得到的模型还没有直接用yolov5s_v3得到的模型精度高,所以有此疑惑,望不嫌麻烦,给点建议,不胜感激)

ZJU-lishuang commented 3 years ago

我是yolov5s速度不够才做的剪枝。 目前我用开源数据复现了一版,没有map异常的问题。 是不是你数据量比较少?

codylcs commented 3 years ago

对的 数量比较少,3000张,四分类,yolov5s_v3 map.5-9.5 在0.685,剪枝后的速度怎么样?输入256*256 i7-cpu可以到多少?可以帮忙测试下吗?

ZJU-lishuang commented 3 years ago

intel的cpu建议使用openvino加速

codylcs commented 3 years ago

openvino的版本优化耗时不明显,之前做的测试结果: pytorch yolov4-tiny 版本 20FPS,256256 https://github.com/bubbliiiing/yolov4-tiny-pytorch openvino yolov4-tiny 版本 33FPS,256256 https://github.com/TNTWEN/OpenVINO-YOLOV4 cv4.4.0 版本 yolov4-tiny 版本 37FPS,256256 https://github.com/hpc203/yolov4-opencv-dnn pytorch yolov5s版本 25FPS,256256 https://github.com/linhaoqi027/yolov5_openvino_sdk yolov5 - openvino 20FPS,256*256 发现速度不如yolov4 oepncv里封装的呢

ZJU-lishuang commented 3 years ago

误操作关闭了>-<

更新了readme,添加了可复现的流程,可以参考看一下。

codylcs commented 3 years ago

好的,这个问题先关闭了,时间原因,目前基于yolov5_s去做,速度和精度基本满足需求,抽空再去复现本项目的代码