经典CNN模型计算量与内存需求分析
表1 CNN经典模型的内存,计算量和参数数量对比
AlexNet |
VGG16 |
Inception-v3 |
|
模型内存(MB) |
>200 |
>500 |
90-100 |
参数(百万) |
60 |
138 |
23.2 |
计算量(百万) |
720 |
15300 |
5000 |
1. CNN模型具体分析(以AlexNet网络模型为例)
1.1 网络结构
图1 AlexNet网络结构
AlexNet有5个卷积层和3个全连接层
C1:96×11×11×3 (卷积核个数/宽/高/深度) 34848个
C2:256×5×5×48(卷积核个数/宽/高/深度) 307200个
C3:384×3×3×256(卷积核个数/宽/高/深度) 884736个
C4:384×3×3×192(卷积核个数/宽/高/深度) 663552个
C5:256×3×3×192(卷积核个数/宽/高/深度) 442368个
R1:4096×6×6×256(卷积核个数/宽/高/深度) 37748736个
R2:4096×4096 16777216个
R3:4096×1000 4096000个
共6000万个参数
1.2 AlexNet模型内存大小计算
6000万(个参数)×32位(float32)=19.2亿位≈228.88MB
1.3 AlexNet模型计算力消耗
图2 AlexNet模型每层每秒浮点运算次数及参数数量
1.4 AlexNet网络模型配置
AlexNet网络模型获得了2012年ImageNet比赛的冠军。AlexNet使用两块GTX580显卡进行训练,两块GPU各训练网络的一部分,在第二个卷积层和全连接层两块GPU之间才进行互相通信。
经典CNN模型计算量与内存需求分析的更多相关文章
- CNN中计算量FLOPs的计算
1.FLOPs的概念:全称是floating point operations per second,意指每秒浮点运算次数,即用来衡量硬件的计算性能:在CNN中用来指浮点运算次数: 2.计算过程: 如 ...
- 【翻译】借助 NeoCPU 在 CPU 上进行 CNN 模型推理优化
本文翻译自 Yizhi Liu, Yao Wang, Ruofei Yu.. 的 "Optimizing CNN Model Inference on CPUs" 原文链接: h ...
- 经典分类CNN模型系列其五:Inception v2与Inception v3
经典分类CNN模型系列其五:Inception v2与Inception v3 介绍 Inception v2与Inception v3被作者放在了一篇paper里面,因此我们也作为一篇blog来对其 ...
- (转载)CNN 模型所需的计算力(FLOPs)和参数(parameters)数量计算
FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度.是一个衡量硬件性能的指标. FLOPs:注意s小写,是f ...
- 深度学习之(经典)卷积层计算量以及参数量总结 (考虑有无bias,乘加情况)
目录: 1.经典的卷积层是如何计算的 2.分析卷积层的计算量 3.分析卷积层的参数量 4.pytorch实现自动计算卷积层的计算量和参数量 1.卷积操作如下: http://cs231n.github ...
- CNN 模型压缩与加速算法综述
本文由云+社区发表 导语:卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,CNN模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一. 前言 自从AlexNet一举夺得 ...
- CNN模型合集 | 1 LeNet
1.1 LeNet的设计思想 1998年LeCun提出,经典结构,3层,五脏俱全(卷积层.Pooling层.FC网络.Sigmod层),对标传统神经网络.主要设计贡献 局部感受野(local rece ...
- 小白经典CNN论文复现系列(一):LeNet1989
小白的经典CNN复现系列(一):LeNet-1989 之前的浙大AI作业的那个系列,因为后面的NLP的东西我最近大概是不会接触到,所以我们先换一个系列开始更新博客,就是现在这个经典的CNN复现啦(。・ ...
- 小白的经典CNN复现(二):LeNet-5
小白的经典CNN复现(二):LeNet-5 各位看官大人久等啦!我胡汉三又回来辣(不是 最近因为到期末考试周,再加上老板临时给安排了个任务,其实LeNet-5的复现工作早都搞定了,结果没时间写这个博客 ...
随机推荐
- 使用gmock白盒测试
提起白盒测试,很多程序员可能觉得就是个书上的概念,很多人写完代码根本没有具体的测试方案,自己觉得可行就提交了,其实这是个很危险的事情,毕竟出了bug,最后要加班的人还是你 ,因此做好白盒测试,100% ...
- dhcp snooping、ARP防护、
应用场景 无线客户端流动性很大和不确定,比如在外来人员比较多的地方:广场.大厅.会议室和接待室等等.使用该方案可以有效地避免因为无线端出现私设IP地址导致地址冲突或者客户端中ARP病毒发起ARP攻击的 ...
- matlab save 命令
有时候要运行很长才得到结果,而这部分结果在后面修改代码之后不需要改变.可以多次利用这些结果or参数,有必要将结果保存下来. 1 save example1 A ;%A为当前环境下的变量,example ...
- sockaddr和sockaddr_in的区别
struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址. 在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体. 网络中的地址包含3个方 ...
- Ubuntu 12.04 LTS 安裝无线网卡驱动
1,当然,首先下载得到驱动的源代码: 2,解压缩到指定位置,我就是用鼠标拖到 home 里面: 3,进入驱动所在目录 CD ~/mt7610u,(我将解压缩出来的驱动目录改名为 mt7610u 这个了 ...
- Form表单如何传递List数组对象到后台的解决办法(转)
举例说明: [后台有一个对象 User 一个PhotoDo对象],结构如下: public class User{ private String username; private List&l ...
- Quartz 2D编程指南(7) - 阴影(Shadows)
阴影是绘制在一个图形对象下的且有一定偏移的图片,它用于模拟光源照射到图形对象上所形成的阴影效果,如果7-1所示.文本也可以有阴影.阴影可以让一幅图像看上去是立体的或者是浮动的. 阴影有三个属性: 1. ...
- String.format()格式化日期(2)
在以前的开发中,日期格式化一直使用的是SimpleDateFormat进行格式化.今天发现String.format也可以格式化.当 然,两种方式的优劣没有进行深入分析. 1. 日期格式化 (2018 ...
- flask第十二篇——自定义url转换器【2】
继续昨天的话题,今天我们来写一个手机号的转换器,方便大家理解 我们在`BaseConverter`源码里看到好多这种正则表达式: 正则表达式的目的就是规范匹配的规则,现在我们写一个简单的匹配手机号的正 ...
- .Net Remoting和Web Service大比拼
随着.NET的推出,微软引入了一套新的通讯技术:Web Services和.NET remoting..NET remoting和ASP.NET Web Services可以为建立分布式的应用提供强有 ...