text tf.nn.zero_fraction
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text tf.nn.zero_fraction相关的知识,希望对你有一定的参考价值。
我们刚接到一个项目时,一开始并不是如何设计模型,而是去先跑一个现有的模型,看在项目需求在现有模型下面效果怎么样。当现有模型效果不错需要深入挖掘时,仅仅时跑现有模型是不够的,比如,如果你要在嵌入式里面去实现,目前大多数模型大小和计算量都不满足,这就产生了模型压缩和剪枝。
模型压缩常做的是将模型从float变为int8,这不仅带来了模型参数空间上的减少,同时,是的很多较小的参数直接变为0,是的模型压缩可以变得比较小(一般是缩小到原来的20),但是这种方式下,压缩后的模型不一定能work,还得调整。
模型剪枝,就是觉得算法实现这个任务or功能,没必要使用那么大的模型,但是目前深度学习的模型对我们来说还是个“黑盒子”,怎样剪枝合适?这就可以使用tf.nn.zero_fraction统计某个值的0的比例,这个tf.nn.zero_fraction计算出来的值越大,0的比例越高,说明这层网络种起作用的神经元个数越少。通过这个统计,我们是否可以这样采取策略:
1、网络层数不变,减少该层网络的卷积核个数,训练看效果。
2、我们将值为0占比高的网络砍掉,再训练查看效果。如果效果好,ok继续压缩,如果效果差,分析原因:a、是否是网络减少了一层,导致感受野变小了?可以尝试增大剩下网络的感受野。b、是否是模型复杂度不够了?可以尝试增加剩下网络卷积核和特征图个数,适当弥补砍掉网络带来的复杂度降低。
以上是关于text tf.nn.zero_fraction的主要内容,如果未能解决你的问题,请参考以下文章
<!-- text --> 和 /* text */ 注释有啥区别?
VB中 如何复制Text1.text的字体到剪贴板? 如何剪切?
VB 加减乘除
text-decoration:[ text-decoration-line ] || [ text-decoration-style ] || [ text-decoration-color ]
.text 和 .get_text() 之间的区别
javascript或css:如何隐藏标签内的文本中的任何数字,后跟点前缀“1.text”,“2.text”...“30.text”