• 欢迎访问最初的梦想
  • Github https://github.com/anthonyzhai

CNN模型中的一些问题

编程 AnthonyZhai 1个月前 (09-09) 28次浏览 已收录 0个评论

1 CNN模型中参数量(parameters)和计算力(FLOPs)计算

参考资料一
参考资料二
参考资料三
参考资料四

1.1 parameters

卷积层
1)卷积核参数量:$C_i * H_k * W_k * C_o$;
2)偏置参数量:$C_i * H_k * W_k$;
3)$parameters=(C_i * H_k * W_k + 1) * C_o$,$C_o$可以理解为卷积核的个数,$C_i * H_k * W_k$可以理解为卷积核的大小。

全连接层
$parameters= C_i * C_o + C_o$

1.2 FLOPs:floating point operations

卷积层
CNN模型中的一些问题
1)乘法计算量:为了得到输出的feature map上的一个像素点,需要$C_i * H_k * W_k$次乘法,而feature map上共有$C_o * H * W$个像素点,则共有$C_o * H * W * (C_i * H_k * W_k)$;
2)加法计算量:为了得到输出的feature map的一个像素点,由于需要$C_i * H_k * W_k$次乘法,则需要$C_i * H_k * W_k – 1$次加法,则共有$C_o * H * W * (C_i * H_k * W_k – 1)$;再考虑偏置,每计算feature map上的一个像素点时做一次偏置项加法,则共有$C_o * H * W $次偏置项加法;则加法共有$C_o * H * W * (C_i * H_k * W_k)$;
3)将1)2)加起来,得到$FLOPs=2 * C_o * H * W * (C_i * H_k * W_k)$,若没有偏置,则在括号中减1。

全连接层
$FLOPs=(2 * C_i) * C_o$,若没有偏置,则在括号中减1。

1.3 FLOPS:floating point operations persecond

$FLOPS = parameters * H * W = (C_i * H_k * W_k + 1) * C_o * H * W$


最初的梦想 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CNN模型中的一些问题
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址