对yolov10s模子进行剪枝,以voc2012数据集做研究对象(练习数据 voc2012 train; 测试数据 voc2012 val),移除50%的通道,28.5 GFLOPs低落到14.6 GFLOPs,理论速率提拔1倍。剪枝后得到的模子的最高map50为71(相比于剪枝前的74,降落3个点),map5095最高为54(相比于剪枝前的58,降落4个点)。并基于trt-python进行fps的差异对比,发现原始模子的fp16 推理fps为380,剪枝后模子fps为405。同时,也基于onnx进行推理耗时测试,gpu下,原始模子推理耗时为16ms,剪枝模子耗时为13毫秒;cpu下,原始模子推理耗时为66ms,剪枝后模子推理耗时为49ms。
1、完整代码
1.1 依赖函数
在ultralytics项目根目次下创建user_models目次,并将以下代码生存为user_models下prune_model.py。
代码主要是实现C2f_v2类与C2fCIB_v2,用于在模子剪枝前替换掉yolov10中的C2f与C2fCIB模块
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |