darknet权值剪枝工具

本文介绍了作者在研究生期间开发的darknet权重剪枝工具,分享了开发过程中的关键注意事项,如权重存储顺序、剪枝后通道调整等。在YOLO V3模型中,由于shortcuts的存在,剪枝时需要避免影响维度匹配。作者提到,通常的剪枝流程包括网络敏感度分析,但由于资源限制,这部分被省略。通过实例展示了剪枝效果,指出剪枝可能影响目标检测的准确性。
摘要由CSDN通过智能技术生成

这是之前读研的时候写过的工具,当时用了作为毕设的一部分。因为时间很久了,最近因为各种原因要重新翻出来咀嚼一下。

先献出源码https://github.com/Sunyouteng/darknet_prune_yoloV3

开发的过程种需要注意一下几点

1 weights中权值的存储顺序,需要先fread 偏移 和BN的相关参数,然后再加载卷积核的权重值;

2 权值的保存顺序是按照卷积核进行保存的,单个卷积核内部又是按照通道一层层进行保存;

3 剪切完某一层之后,一定要记得对其下一层的卷积核也要剪掉相应的通道,这样才能保证计算不会出错

V3相对于V2的问题是,出现了比较多的shortcut层,因此使用起来,并不是很便利,因为如果剪切完某一层之后,该层的输出就会减少,往往这一层需要shortcut,和后面的另外一层进行相加。(注:shortcut层是from 那层的输出,之前怀疑过是不是输入,打印之后确实是输出)被剪切的那层输出少了之后,维度和后面的一层就不再一致,出现无法相加的情况。因此使用时,应该避开这种情况,同时剪枝工具一次只能剪掉一层。

根据相关论文的解释,需要对整个网络做敏感度分析,因为我的laptop没有显卡,就算是运行个voc2007test数据集都要很久,所以这里就省去了这部分工作。正常的逻辑是:

1 对网络做敏感度分析,分别对某一层,剪去不同数量的卷积核,看起准确度下降曲线;

2 对多层重复上述操作ÿ

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值