经典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之间才进行互相通信。

原文地址:https://www.cnblogs.com/sindy-zhang/p/9012340.html

时间: 2024-11-06 09:49:43

经典CNN模型计算量与内存需求分析的相关文章

oracle命中率模型计算

命中率模型是在owi之前比较常用的一种诊断性能问题的方法,通过命中率的计算,发现系统中的一些设置是否合理,当命中率不高的时候,通过调整一些参数和设置,提高命中率,有效的提高系统的性能和吞吐量.但当系统的命中率很高的时候,系统的性能问题和瓶颈就无法使用命中率模型来有效的定位,因为命中率说到底是一种平均值,而均值会隐藏系统的问题,这里暂且讨论oracle系统上几个相关的命中率的计算.另外会再讨论owi模型. 在awi的报告中,首先是oracle实例和snapshot信息,然后就是report sum

【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络Vgg

上周我们讲了经典CNN网络AlexNet对图像分类的效果,2014年,在AlexNet出来的两年后,牛津大学提出了Vgg网络,并在ILSVRC 2014中的classification项目的比赛中取得了第2名的成绩(第一名是GoogLeNet,也是同年提出的).在论文<Very Deep Convolutional Networks for Large-Scale Image Recognition>中,作者提出通过缩小卷积核大小来构建更深的网络. Vgg网络结构 VGGnet是Oxford的

Light Weight CNN模型的分析与总结

本文选择了4个light weight CNN模型,并对它们的设计思路和性能进行了分析与总结,目的在于为在完成图像识别任务时模型的选择与设计方面提供相关的参考资料. 1 简介 自AlexNet[1]在LSVRC-2010 ImageNet[22]图像分类任务上取得突破性进展之后,构建更深更大的convolutional neural networks(CNN)几乎成了一种主要的趋势[2-9].通常,获得state-of-the-art准确率的模型都有成百上千的网路层以及成千上万的中间特征通道,这

参数量与计算量

例:输入是m*m*c的图像,卷积核大小是k*k,其输出是n*n*d,也表示卷积核的数量是d,其总参数是多少,总的乘法计算量是多少? 总参数:c*k*k*d 总乘法计算量:c*k*k*n*n*d 解释如下: 对于输出feature-map上某一个channel的点,经过如下两步得到: 1. 卷积核k*k与输入的每个channel卷积,把每个channel上的内容加起来,就得到最后一个点.如下图1所示,那么输出feature-map上每个点的计算量为c*k*k 2. 那么输出feature-map上

java线程内存模型,线程、工作内存、主内存

转自:http://rainyear.iteye.com/blog/1734311 java线程内存模型 线程.工作内存.主内存三者之间的交互关系图: key edeas 所有线程共享主内存 每个线程有自己的工作内存 refreshing local memory to/from main memory must  comply to JMM rules 产生线程安全的原因 线程的working memory是cpu的寄存器和高速缓存的抽象描述:现在的计算机,cpu在计算的时候,并不总是从内存读

ResNeXt——与 ResNet 相比,相同的参数个数,结果更好:一个 101 层的 ResNeXt 网络,和 200 层的 ResNet 准确度差不多,但是计算量只有后者的一半

from:https://blog.csdn.net/xuanwu_yan/article/details/53455260 背景 论文地址:Aggregated Residual Transformations for Deep Neural Networks 代码地址:GitHub 这篇文章在 arxiv 上的时间差不多是今年 cvpr 截稿日,我们就先理解为是投的 cvpr 2017 吧,作者包括熟悉的 rbg 和何凯明,转战 Facebook 之后代码都放在 Facebook 的主页里面

动手实践用LDA模型计算两篇英文文档相似度

知道原理的同学这部分可以略过直接看实践部分 什么是TD-IDF? 构造文档模型 我们这里使用空间向量模型来数据化文档内容:向量空间模型中将文档表达为一个矢量. 用特征向量(T1,W1:T2,W2:T3, W3:…:Tn,Wn)表示文档. Ti是词条项,Wi是Ti在文档中的重要程度, 即将文档看作是由一组相互独立的词条组构成,把T1,T2 …,Tn看成一个n 维坐标系中的坐标轴,对于每一词条,根据其重要程度赋以一定的权值Wi,作为对应坐标轴的坐标值. 权重Wi用词频表示,词频分为绝对词频和相对词频

自然语言处理中CNN模型几种常见的Max Pooling操作

/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 CNN是目前自然语言处理中和RNN并驾齐驱的两种最常见的深度学习模型.图1展示了在NLP任务中使用CNN模型的典型网络结构.一般而言,输入的字或者词用Word Embedding的方式表达,这样本来一维的文本信息输入就转换成了二维的输入结构,假设输入X包含m个字符,而每个字符的Word Embedding的长度为d,那么输入就是m*d的二维向量. 图1 自然语言处理中CNN模型典型网络结构 这里可以

基于Pre-Train的CNN模型的图像分类实验

基于Pre-Train的CNN模型的图像分类实验 MatConvNet工具包提供了好几个在imageNet数据库上训练好的CNN模型,可以利用这个训练好的模型提取图像的特征.本文就利用其中的 “imagenet-caffe-ref”的模型,提取图像特征(softmax前一层的输出,4096维),在几个常用的图像分类的数据库中进行了相应的分类实验.这实验的过程中,有对图片进行左右翻转用于增加训练数据.下面结果的表格中:Original原始结果,Flip增加翻转后的结果. 需要用到的toolbox及