相关文档
- 剪枝方法汇总
- 训练剪枝模型方法
- 评估剪枝效果
- 剪枝的相关知识 代写
1 前言
剪枝目的,就是剪掉w和b种的不重要的部分,留下重要的。
压缩剪枝流程:一般流程为,训练好的模型--剪枝--retrain--剪枝。
剪枝分类,有slimming和pruning之分。怎么分呢?我就不说了。我也没弄懂。就像蠕变时效又叫做蠕变成型一样。
- 剪枝分为静态的和动态的。他们的区别是是否边训练边剪枝。
- 粗晶粒剪枝和细晶粒剪枝,这里说下,细晶粒剪枝效果更好,不过需要自己写框架。比如据我所知,tf和kera直接调用是不行的。
剪枝的关键在于如何去设置阈值,来剪掉不重要的。如何设置阈值呢?或者说用什么方法去滤掉不重要的值呢?
下面讲讲方法,
2 方法
01 简单粗暴的剪枝
直接剪枝,去掉w和b中百分之多少的值。
我查论文发现几种方法:
- 只保留正值部分
- 保留正值和负值中的百分之多少
- 保留正值中的百分之多少
- 去掉极大极小值
这种算法很粗暴,那么哪种方法?我的经验是根据激活函数,比如激活函数用relu,人家的目的就是保留正数部分,所以应该考虑是否滤掉非正数。如果用的prelu,那就要看率怎么保留正数与非正数。
02 数学方法--熵
根据概率熵来确定,就是统计某些值,把这个求出来的值作为标准/阈值