**
**
小模型的好处
•运行时显存/内存占用变小
•计算量减少、延时变小、QPS增大
•可以移动端及嵌入式端部署
怎么产出好用的小模型
•将模型的参数量变少
•将小模型的精度提高
•将模型的计算量减少
•设计更高效的网络结构
搜索策略对搜索的模型进行约束
作业 :通道卷积裁剪
目标:先计算敏感度,依据敏感度剪裁模型
•敏感度的意义:得到敏感度信息后,可以通过敏感度确定每层卷积的剪裁率。
•怎么确定敏感度
每个卷积层的敏感度信息统计方法为:依次剪掉当前卷积层不同比例的输出通道数,在测试集上计算剪裁后的精度损失。
中间部分为裁剪后的网络,第三部分表示可以跟正常的网络一样去训练
导入paddleslim包
调用接口,构建模型
定义数据
训练模型
确定哪一部分参数进行裁剪
将上述的卷积的参数进行裁剪除了指定待分析的卷积层参数,我们还可以指定敏感度分析的粒度和范围,即单个卷积层参数分别被剪裁掉的比例。为了得到更精确的敏感度信息,我可以适当调小pruned_ratios的粒度,比如:[0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4]pruned_ratios的粒度越小,计算敏感度的速度越慢。
利用slim的接口将其存进来s-0就是敏感度信息
最后计算出剪裁率
输出一个裁剪前后的对比
训练裁剪之后的模型
最后使用paddlelite部署模型