模型参数与计算量

模型参数与计算量

原文链接:https://hey-yahei.cn/2019/01/07/MXNet-OpSummary/

这一两个月比较忙,没什么时间空下来写写博文,加上最近处于摸索阶段,各种思路还没有理清,不敢瞎写。

这两天看到Lyken17的pytorch-OpCounter,萌生了一个写一个MXNet的计数器的想法,项目已经开源到github上,并且做个pip的包,嘻嘻……第一次做包,虽然只是一个简单的工具,还是截图留个念——
在这里插入图片描述

参数量与计算量

  • 参数量 是指模型含有多少参数,直接决定模型文件的大小,也影响模型推断时对内存的占用量
  • 计算量 是指模型推断时需要多少计算次数,通常是以***MAC(Multiply ACcumulate,乘积累加)***次数来表示

这两者其实是评估模型时非常重要的参数,一个实际要应用的模型不应当仅仅考虑它在准确率上有多出色的表现,还应该要考虑它的鲁棒性、扩展性以及对资源的依赖程度,但事实上很多论文都不讨论他们模型需要多少计算力,一种可能是他们的定位还是纯学术研究——提出一种新的思路,即使这种思路不便于应用,但未来说不定计算力上来了,或者有什么飞跃性的改进方法来改进这一问题,或者提出自己的思路来启发其他研究者的研究(抛砖引玉);另一种可能就是……他们在有意识地回避这一问题,我总觉得很多人是在回避这一问题,无论是论文还是各种AI比赛的解决方案(比赛本身只关注准确率指标本身也不够合理)。

接下来,我们试着用不同的视角重新审视以前那些常用的CNN OP——

全连接

首先考虑一个3输入、3输出、有偏置的全连接层(Layer2),
在这里插入图片描述
a 1 ( 2 ) = x 0 + w 11 x 1 + w 12 x 2 + w 13 x 3 a 2 ( 2 ) = x 0 + w 21 x 1 + w 22 x 2 + w 23 x 3 a 3 ( 2 ) = x 0 + w 31 x 1 + w 32 x 2 + w 33 x 3 \begin{array} { l } { a _ { 1 } ^ { ( 2 ) } = x _ { 0 } + w _ { 11 } x _ { 1 } + w _ { 12 } x _ { 2 } + w _ { 13 } x _ { 3 } } \\ { a _ { 2 } ^ { ( 2 ) } = x _ { 0 } + w _ { 21 } x _ { 1 } + w _ { 22 } x _ { 2 } + w _ { 23 } x _ { 3 } } \\ { a _ { 3 } ^ { ( 2 ) } = x _ { 0 } + w _ { 31 } x _ { 1 } + w _ { 32 } x _ { 2 } + w _ { 33 } x _ { 3 } } \end{array} a1(2)=x0+w11x1+w12x2+w13x3a2(2)=x0+w21x1+w22x2+w23x3a3(2)=x0+w31x

  • 15
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值