第十一天:PaddleSlim模型压缩实践

**

第十一天:PaddleSlim模型压缩实践

**
小模型的好处
•运行时显存/内存占用变小
•计算量减少、延时变小、QPS增大
•可以移动端及嵌入式端部署
怎么产出好用的小模型
•将模型的参数量变少
•将小模型的精度提高
•将模型的计算量减少
•设计更高效的网络结构
第十一天:PaddleSlim模型压缩实践_第1张图片
第十一天:PaddleSlim模型压缩实践_第2张图片
第十一天:PaddleSlim模型压缩实践_第3张图片
第十一天:PaddleSlim模型压缩实践_第4张图片
第十一天:PaddleSlim模型压缩实践_第5张图片
第十一天:PaddleSlim模型压缩实践_第6张图片
第十一天:PaddleSlim模型压缩实践_第7张图片
第十一天:PaddleSlim模型压缩实践_第8张图片
第十一天:PaddleSlim模型压缩实践_第9张图片
搜索策略对搜索的模型进行约束

第十一天:PaddleSlim模型压缩实践_第10张图片
第十一天:PaddleSlim模型压缩实践_第11张图片
作业 :通道卷积裁剪
目标:先计算敏感度,依据敏感度剪裁模型
•敏感度的意义:得到敏感度信息后,可以通过敏感度确定每层卷积的剪裁率。
•怎么确定敏感度
每个卷积层的敏感度信息统计方法为:依次剪掉当前卷积层不同比例的输出通道数,在测试集上计算剪裁后的精度损失。

第十一天:PaddleSlim模型压缩实践_第12张图片
中间部分为裁剪后的网络,第三部分表示可以跟正常的网络一样去训练
在这里插入图片描述
导入paddleslim包
在这里插入图片描述
调用接口,构建模型
第十一天:PaddleSlim模型压缩实践_第13张图片
定义数据
第十一天:PaddleSlim模型压缩实践_第14张图片
第十一天:PaddleSlim模型压缩实践_第15张图片

训练模型
第十一天:PaddleSlim模型压缩实践_第16张图片
确定哪一部分参数进行裁剪
在这里插入图片描述
将上述的卷积的参数进行裁剪除了指定待分析的卷积层参数,我们还可以指定敏感度分析的粒度和范围,即单个卷积层参数分别被剪裁掉的比例。为了得到更精确的敏感度信息,我可以适当调小pruned_ratios的粒度,比如:[0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4]pruned_ratios的粒度越小,计算敏感度的速度越慢。
第十一天:PaddleSlim模型压缩实践_第17张图片
利用slim的接口将其存进来s-0就是敏感度信息
在这里插入图片描述
最后计算出剪裁率
第十一天:PaddleSlim模型压缩实践_第18张图片
输出一个裁剪前后的对比
第十一天:PaddleSlim模型压缩实践_第19张图片
训练裁剪之后的模型
最后使用paddlelite部署模型

你可能感兴趣的:(python机器学习,python)