![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模型压缩
文章平均质量分 87
饭后吃西瓜
这个作者很懒,什么都没留下…
展开
-
NEON加速im2col+gemm的卷积推理
前言主流框架包括caffe、tf、darknet实现卷积的时候不是直接进行卷积计算,而是往往采用im2col+gemm的方式来进行加速,加速的思路是“空间换时间”提高读取数据过程cache的命中。本文主要利用ARM的NEON汇编指令来加速darknet框架的CPU卷积计算darknet相关卷积实现原理具体的im2col原理卷积实现时,卷积核第一个元素与经过im2col操作后的feature map的第一行对应的的每个元素先后分别相乘,结果值分别存到不同位置,如图中所示。然后以此类推,卷积核第二个原创 2020-09-26 22:28:34 · 2240 阅读 · 0 评论 -
论文品读:Learning both Weights and Connections for Efficient Neural Networks
https://arxiv.org/abs/1506.02626v3这是一篇关于模型压缩的15年文章,到目前为止(18年11月)有450的被引文章介绍了一种参数剪枝(weights pruning)方法,应该算是最基础的一种方法了,直接按照参数是否大于某个阈值来判断哪些参数是重要的,哪些参数是不重要。文章主要目的是想要压缩模型大小后将模型运行在能耗更小的内部SRAM里,在速度提升上文章没有...原创 2018-11-01 10:22:09 · 4572 阅读 · 3 评论 -
论文品读:Network Trimming: A Data-Driven Neuron Pruning Approach towards Efficient Deep Architectures
http://cn.arxiv.org/abs/1607.03250文章介绍了一种新的评价参数是否需要被裁剪的标准:AP0Z 公式1给出了AP0Z的定义。代表第i层的第c个通道的输出,M是的维度数。算了,解释起来太麻烦,直接看下图。输入一张图,经过一层卷积,得到右边的feature map,我们计算,也就是输出的第一个通道的APOZ,也就是右边红色。假设红色的部分一半是0,那么这张...原创 2018-11-13 09:12:26 · 3732 阅读 · 0 评论 -
论文品读:Pruning filters for effecient convnets
https://arxiv.org/abs/1608.08710本文提出了一种基于L1的通道裁剪的方法,在VGG16上降低34%的计算量,ResNet-101降低38%计算量 本文说权重裁剪只能稀疏化矩阵,不能降低计算量从而提速,并且稀疏化会需要BLAS稀疏计算库。并且论文提出了不用一层层迭代裁剪,而是直接one-shot一次裁剪,可以节省裁剪、训练时间。最后,作者还发现了即使ResN...原创 2018-11-13 15:12:58 · 1368 阅读 · 1 评论 -
论文品读:Pruning Convolutional Neural Networks for Resource Efficient Inference
模型裁剪系列相关论文品读博客:1.论文品读:Learning both Weights and Connections for Efficient Neural Networks https://blog.csdn.net/hsqyc/article/details/834210612.论文品读:Network Trimming: A Data-Driven Neuron Pruni...原创 2018-12-12 14:37:04 · 3667 阅读 · 4 评论 -
论文品读:Stability Based Filter Pruning for Accelerating Deep CNNs
2018年的论文,提出了一种新的评价卷积核重要程度的方式。主要思想是比较改变损失函数前后训练得到的两套参数,如果某个位置的参数改变的幅度大,就认为该参数是敏感的不稳定的,那就是不重要的,优先裁剪。具体过程如下1.正常训练得到基础模型参数。2.改变损失函数并训练1到3个epoch得到新的模型参数,新的损失函数为左边公式的L,C是原始损失函数,K代表网络有几层,S通过右边公式得到。右边...原创 2019-01-19 11:28:56 · 367 阅读 · 0 评论