
迁移/压缩/加速的方法
迁移学习内容比较少,所以放在压缩优化这一块。
颐水风华
框架:tensorflow pytorch tensorrt cuda cublas opnecv。
语言:c、c++ python。
展开
-
一种新的剪枝方法
现在是2020年9月14日。 不知道别人有没有写过相关的论文。下面开始正文。 我先拿一个训练好的模型中conv层的w来说。下图是第一层的conv的w。每条线为一个维度的w。HDFview这个软件一次最多能画10组数据。这里就看这些吧。 观察图像你会发现一个规律,某一值附近,大部分曲线呈现一个走势,只有少部分相反,或者比较慢的走势。我在上图中画上了竖线,你会发现这个现象。 那么问题来了,能不能通过统计这总趋势来决定哪个feature的w重要呢?应该可以,通过这种方法来剪枝,更具有意义。 用一句话原创 2020-09-14 23:56:53 · 236 阅读 · 0 评论 -
发现tf在压缩模型方面,有些是做不到的--可以实现
发现tf在压缩模型方面,有些是做不到的。比如修改梯度更新内容。tf的计算图一点创建就无法修改,但是现在的一些论文中,有对梯队修改,来增加训练速度的方法。我看到torch写的代码,我发现tf做不到。我想未来tf也不会修改,因为上面提到的了,图是无法修改的。 未来一定会学习pytorch或者torch,然后模型转为pb格式,因为tf-serving在布置模型方面有太大的优势。 ...原创 2020-08-22 10:20:17 · 440 阅读 · 0 评论 -
关于tensorflow量化
tensorflow模型量化不并不提速,并且可能会降低速度。他只能压缩模型。 为什么不能提速?官方给的解释是,巴拉巴拉巴拉。。忘了。 量化有两种方式,tflite和pb两种保存方式。tflite是量化+轻量化;pb得格式是只量化(这种方法可能只在linux跑模型,win会报错。我是tf-1.15.0版本,win不行。)。 所以就是说,别去尝试手动自己写代码去量化了,就用官方得代码,压缩下模型就得了。 ...原创 2020-08-15 15:55:20 · 282 阅读 · 0 评论 -
关于模型压缩/优化系统学习的内容
本文主要介绍关于模型压缩/优化系统学习的内容,让你找论文学习有方向。并不提供详尽内容域代码。 1 压缩加速系统 1.1 卷积核张量的低秩分解 1.1.1 迭代法 1.1.2 SVD 1.2 网络剪枝 1.3 网络参数量化 1.3.1 线性量化 1.3.1.1 对称 1.3.1.2 不对称 1.3.1.3 极限二值化 1.3.2 非线性量化 1.3.2.1 对数 1.3.2...原创 2020-04-11 10:57:50 · 313 阅读 · 0 评论 -
4d矩阵与2d矩阵相互映射关系
4d矩阵与2d矩阵相互映射关系,svd降维时候用到。 import cupy as cp d4 = cp.linspace(1, 1000, 1000).reshape(10, 4, 5, 5) # [N,C,d,d] def four_2_two(d4): N, C, d, _ = d4.shape d2 = cp.empty([d * N, d * C]) ...原创 2020-04-07 23:22:32 · 860 阅读 · 0 评论 -
模型加速
最近在学习加速方法。总结大概分3类 数学方法 权重优化 模型结构 方法1和方法2都是对训练好的模型,进行优化处理。方法1一般不会改变模型的精度,方法2会对精度有影响,并且只能针对冗余权重。而第三种方法,一般都是修改模型,也就是训练时候,就是用优化的模型结构。说的再多,他们之间也有相通的比如可以把权重矩阵分解理解成数学方法。具体内溶,还在总结整理代码中。 ...原创 2020-03-31 14:33:43 · 450 阅读 · 0 评论 -
通道剪枝Channel Pruning
论文:Channel Pruning for Accelerating Very Deep Neural Networks Github: https://github.com/yihui-he/channel-pruning ICCV2017 旷视科技 论文提出了新的通道剪枝方法,基于2步迭代的剪枝方法。首先基于LASSO回归选择通道,然后基于最小均方误差,进行权值的重新学习。...转载 2019-11-11 18:20:04 · 2055 阅读 · 0 评论