网络的参数量(param) 和浮点计算量(FLOPs)

理论上的计算公式如下:

卷积核的尺寸:𝑘𝑤∗𝑘ℎ∗𝑐𝑖𝑛; 卷积核的个数:𝑐𝑜𝑢𝑡  ;  H,W是输出的

𝑝𝑎𝑟𝑎𝑚𝑐𝑜𝑛𝑣=(𝑘𝑤*𝑘ℎ*𝑐𝑖𝑛)*𝑐𝑜𝑢𝑡+𝑐𝑜𝑢𝑡     (卷积层的参数数量,注意带bias,)

𝑚𝑎𝑐𝑐𝑐𝑜𝑛𝑣=(𝑘𝑤*𝑘ℎ*𝑐𝑖𝑛)*𝑐𝑜𝑢𝑡*𝐻*𝑊 

𝐹𝐿𝑂𝑃𝑠𝑐𝑜𝑛𝑣=[2*(𝑘𝑤*𝑘ℎ*𝑐𝑖𝑛)*𝑐𝑜𝑢𝑡+𝑐𝑜𝑢𝑡]*𝐻*𝑊(计算量主要是指:乘法的运算量+加法的运算量)

𝑝𝑎𝑟𝑎𝑚𝑓𝑐=(𝑛𝑖𝑛∗𝑛𝑜𝑢𝑡)+𝑛𝑜𝑢𝑡

𝑚𝑎𝑐𝑐𝑓𝑐=𝑛𝑖𝑛∗𝑛𝑜𝑢𝑡

𝐹𝐿𝑂𝑃𝑠𝑓𝑐=2*(𝑛𝑖𝑛∗𝑛𝑜𝑢𝑡)+𝑛𝑜𝑢𝑡

注:以上公式是考虑常规卷积/全连接层操作且有 bias 的情况!

卷积层的参数量和卷积核的大小、输入输出通道数相关;全连接层的参数量则只与输入输出通道数有关。

MACCs:是multiply-accumulate operations,指点积运算, 一个 macc = 2FLOPs

FLOPs 的全称是 floating points of operations,即浮点运算次数,用来衡量模型的计算复杂度。计算 FLOPs 实际上是计算模型中乘法和加法的运算次数。卷积层的浮点运算次数不仅取决于卷积核的大小和输入输出通道数,还取决于特征图的大小;而全连接层的浮点运算次数和参数量是相同的。

FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。

 

特别的,对于 Group Conv:

 

𝑝𝑎𝑟𝑎𝑚𝐺𝐶=(𝑘𝑤∗𝑘ℎ∗𝑐𝑖𝑛𝐺)∗𝑐𝑜𝑢𝑡+𝑐𝑜𝑢𝑡

𝑚𝑎𝑐𝑐𝐺𝐶=(𝑘𝑤∗𝑘ℎ∗𝑐𝑖𝑛𝐺)∗𝑐𝑜𝑢𝑡∗𝐻∗𝑊

F𝐿𝑂𝑃𝑠𝐺𝐶=[2∗(𝑘𝑤∗𝑘ℎ∗𝑐𝑖𝑛𝐺)∗𝑐𝑜𝑢𝑡+𝑐𝑜𝑢𝑡]∗𝐻∗𝑊

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值