卷积神经网络参数量和计算量内存计算

  • 参数量
  • 计算量
  • 内存

参数量

每一次卷积的参数量和特征图的大小无关,仅和卷积核的大小,偏置及BN有关。

1.每个卷积层的参数量,+1表示偏置:
Co x (Kw x Kh x Cin + 1)

2.全连接层的参数量
(D1 + 1) x D2

3.BN层的参数量
因为BN层需要学习两个参数γ\gammaγ和β\betaβ,所以参数量是2xCo

计算量

1.一次卷积的计算量(kxk次乘法+kxk-1次加法)
(Kw x Kh) + (Kw x Kh - 1)

2.一个特征图上的卷积次数,即输出特征图的大小
(H−Kh+2∗paddingS+1)∗(W−Kw+2∗paddingS+1)({\frac{H-Kh+2*padding}{S}+1}) * ({\frac{W-Kw+2*padding}{S}+1})(SH−Kh+2∗padding​+1)∗(SW−Kw+2∗padding​+1)

3.全连接层的计算量(乘法+加法)
(D1 + (D1 - 1) + 1) x D2

内存

1.参数量所占内存
(32位的float需要占用4个字节)
Memory(MB) = params x 4 /1024 /1024
比如:VGG参数量约为138million,则内存大小为138*3.8 = 524MB

2.每张图所占内存
计算一整张图的过程中的所有特征图层所占内存为Fw x Fh x C的加和,乘以4byte,再/1024/1024。

3.训练所占显存
比如:
参数量为500w,则内存为19MB;
一张图内存为100w,则内存为4MB;
Batchsize = 128;

则:
模型所占显存:19x2 = 38MB(1为params,1为Adam)
输出所占显存:128x4x2 = 1024MB(2为forward和backward)
总共需要显存:38+1024 > 1G

卷积神经网络参数量和计算量内存计算相关推荐

  1. 卷积神经网络参数计算及卷积层输出尺寸计算

    一.卷积神经网络参数计算 CNN一个牛逼的地方就在于通过感受野和权值共享减少了神经网络需要训练的参数的个数,所谓权值共享就是同一个Feature Map中神经元权值共享,该Feature Map中的所 ...

  2. 卷积神经网络学习路线(五)| 卷积神经网络参数设置,提高泛化能力?

    前言 这是卷积神经网络学习路线的第五篇文章,主要为大家介绍一下卷积神经网络的参数设置,调参技巧以及被广泛应用在了哪些领域,希望可以帮助到大家. 卷积神经网络的参数设置 这个举个例子来说是最好的,因为直 ...

  3. 卷积神经网络参数优化策略(一)

    前言 最近卷积神经网络(CNN)很火热,它在图像分类领域的卓越表现引起了大家的广泛关注.本文总结和摘录了Michael Nielsen的那本Neural Network and Deep Learni ...

  4. 手推卷积神经网络参数(卷积核)求导

    手推卷积神经网络求导(卷积链式法则如何理解) 对于卷积如何求参数的导数问题(特别是对多个卷积层如何对初始层数的参数如何求导)困扰我许久了,也一直没有找到这方面的资料,所以自己研究了一下,在这里与大家分 ...

  5. 基于深度学习的音乐推荐系统(三)使用已训练的卷积神经网络提取语谱图特征并计算图像间相似度

    该模块包含几部分: 调用训练好的并且已经保存的CNN模型(仅四层卷积层部分) 逐个读取tfrecords文件中的元素,并送入已训练好的CNN中,给每个图片提取128个特征 每首歌包含11个图片,即11 ...

  6. 怎样用shell计算linux内存,计算Linux内存,CUP,硬盘使用率的shell脚本

    在开发CFS过程中需要对机器实时的内存,CPU,硬盘使用率进行监控,因为CFS跑在Linux机器上,可以利用Linux中一些相应虚拟文件进行内存CPU使用率的计算,于是编写了以下脚本,很简单,但是很实 ...

  7. group convolution (分组卷积)的计算量详解、卷积计算量特征图大小,池化特征图大小、深度通道deep-wise 卷积

    group convolution (分组卷积)的计算量详解.卷积计算量特征图大小,池化特征图大小.深度通道deep-wise 卷积 提示:最近忙着各种提前批的笔试面试,所以没太多空刷题了都,先复盘一 ...

  8. 高通CVPR神研究:视频处理计算量降低78%,教卷积层自己“挑像素”,卡成PPT的视频纵享丝滑...

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 图像领域,已经限制不住AI算法大牛们的身手了. 现在,随着视频产业火热发展,相关算法也正成为计算机视觉研究的新潮流. 毕竟日常生活中,无论是 ...

  9. 卷积神经网络学习路线(二十一) | 旷世科技 ECCV 2018 ShuffleNet V2

    前言 这个系列已经更新了20多篇了,感谢一直以来大家的支持和等待.前面已经介绍过MobileNet V1,MobileNet V2,MobileNet V3,ShuffleNet V1这几个针对移动端 ...

最新文章

  1. ssh_config sshd_config 详解
  2. WebCenter Space中配置使用WSRP Portlet
  3. 【Nutch2.2.1基础教程之2.1】集成Nutch/Hbase/Solr构建搜索引擎之一:安装及运行【单机环境】...
  4. HADOOP集群中节点之间的配置文件可否不一样?
  5. linux 进程崩溃 wait,Linux信号机制有关问题
  6. 典型医学设计实验GEO数据分析 (step-by-step) - 数据获取到标准化
  7. 如何抓取所有域用户的hash(win2008--win2012)
  8. 非线性薛定谔方程_五分钟彻底搞懂“薛定谔方程”,看后绝对不在迷惑了
  9. 结对编程1-基于GUI的四则运算生成器
  10. C Primer Plus怎样高效学?C语言大神案例值得借鉴!
  11. Material Dialogs
  12. java定义用户类_用户定义的值类在Java中看起来像什么?
  13. (原创)c#学习笔记03--变量和表达式03--变量04--变量的声明和赋值
  14. 系统运维方案_传统运维 VS 互联网运维 框架体系大观
  15. 数字化时代,银行如何建设管理小程序平台促进线上金融业务发展?
  16. react 实战案例(webpack构建)
  17. 红帽linux如何装软件,redhat 下软件的安装
  18. ubuntu:beyond compare 4 This license key has been revoked 有效解决方案
  19. 关于dd命令的使用以及详解
  20. 关键词查找并标注出来

热门文章

  1. 无基础学Linux(4)——基本系统
  2. JAVA采用S7通信协议访问西门子PLC
  3. layui checkbox选中
  4. css浮动清除以及BFC
  5. potplay显示服务器关闭,PotPlayer怎么关闭左上角显示播放时间?关掉左上角显示播放时间步骤一览...
  6. 38译码器真值表讲解_74138译码器真值表及引脚图功能
  7. CentOS 7.2 添加磁盘并创建新区
  8. springboot依赖lombok插件、lombok常用注解
  9. 管理储备与应急储备的区别--建群网培PMP
  10. 柔性机械臂_Soft robotics:香港大学研发全新柔性驱动方式为仿生机器人设计提供新思路!...