参数量与计算量

例:输入是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上有n*n*d个点,所以总乘法计算量:c*k*k*n*n*d

图1 卷积

一般地,我们可以将5*5拆成两个3*3,那么我们可以来比较一下这两者的计算量和参数量

假设输入图像大小是5*5*1,最终都需要变成1*1*1

那么对于5*5的核,我们的总参数量为:1*5*5*1=25,总的乘法计算量为1*5*5*1=25

对于3*3的核:

  1. 5*5*1 --> 3*3*1,参数:1*3*3*1=9,计算量为:1*3*3*3*3*1=81

  2. 3*3*1 --> 1*1*1,参数:1*3*3*1=9,计算量为:1*3*3*1=9

  总的参数:18,总的计算量为:90

核大小 参数数目 计算量
5*5的核 25 25
3*3的核 18 90

但是,计算机读内存的速度比乘法的速度慢多了,所以我们宁愿多算几次,也不要多度一点内存数据

参考:

轻量化模型:SqueezeNet,MobileNet,ShuffleNet以及Xception

原文地址:https://www.cnblogs.com/gezhuangzhuang/p/10922568.html

时间: 2024-11-06 11:21:41

参数量与计算量的相关文章

使用更小卷积核的作用——参数量和计算量的分析

使用更小卷积核的作用 使用更小的卷积核是当前在保证网络精度的情况下,减少参数的趋势之一,在VGG16中,使用了3个3*3卷积核来代替7*7卷积核,使用了2个3*3卷积核来代替5*5卷积核,这样做的主要目的是在保证具有相同感知野的条件下,提升了网络的深度,在一定程度上提升了神经网络的效果. 以下简单地说明一下小卷积(3*3)对于5×5网络感知野相同的替代性. 关于3个3×3卷积核对于7× 7 卷积的替代性思考方式同上. 接下来说明以下减少参数的作用. 对于两个3*3卷积核,所用的参数总量为2*(3

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 的主页里面

经典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:25

斯维尔安装算量2014视频教程+斯维尔三维算量2014视频教程+清华斯维尔三维算量安装算量2014软件全国定额可升级win7

斯维尔安装算量2014视频教程 斯维尔三维算量2014视频教程清华斯维尔三维算量安装算量2014软件全国定额可升级win7送教学■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□ + 诚信合作,保证质量!!!长期有效: + 电话TEL:18980583122 客服 QQ:1140988741 邮件(Email):[email protected]qq.com ■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□斯维尔安装算量软件THS-3DM2014是一

基于搜狗微信搜索获取公众号文章的阅读量及点赞量

测试日期:2016/11/13 文章url样例: http://mp.weixin.qq.com/s?src=3&timestamp=1479004927&ver=1&signature=Z0OsvrGeP25z1f3laEdZjxCrLMvrwg3UfOxCFM1z5i-7qBOaiZDcL3lApbrzHiq5simLQc*n3KB-Ljy01WvBYFZB5D8S8Hcy5lgy6ejl0-HGr6QkqnRVIHMT6Xh5HzfIipcnWZyla-GJGQcxzMhqi

数据传输中用到的模拟量和开关量指什么

很多人对工业数据传输过程中用到的模拟量和开关量这两个词非常的陌生,不知道是什么意思.单单从字面上看,并不知道他们分别代表什么意思.在工业上经常是需要对这两个数据进行传输的,以便观察采集的数据以及设备工作状态.对一个参数来说只有两种可能,不是模拟量的话必然是开关量,今天就带大家了解一下这两个术语到底是什么意思. 那么什么是模拟量?什么是开关量? 模拟量是一种连续变化的量,比如温度,从0~100度,压力从0~10Mpa,液位从1~5米,电动阀门的开度从0~100%等等,这些量都是模拟量. 开关量表示

OpenGLES 关于 数学 的分支 - 线性变化量、离散量、随机量

关于 数学 的分支 - 线性变化量.离散量.随机量 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 昨天看的资料有些多,一时没有想起来做个笔记,今天再回想起来,只是大概有个印象,确忘记了着实的内

关于.NET大数据量大并发量的数据连接池管理

转自:http://www.cnblogs.com/virusswb/archive/2010/01/08/1642055.html 我以前对.NET连接池的认识是错误的,原来以为在web.config中设置了连接池,每次发起的数据库连接也还是会是新的,每个sql请求就是一个连接,需要打开和关闭.因此就想设计一个连接池,然后保持固定的连接数,需要数据库连接就从连接池中取出来一个给请求用,用完毕就设置连接空闲,等待下次请求.这样看来是多余的,ADO.NET已经为我们提供这样的连接池管理,每个连接字

Python(66)_判断用户传入的参数str中计算数字,字母,空格,以及其他的个数,并返回结果

#-*-coding:utf-8-*- ''' 写函数,判断用户传入的参数str中计算数字,字母,空格,以及其他的个数,并返回结果 ''' content = input('>>>') def func(s): num = 0 alpha = 0 space = 0 others = 0 dic ={ 'num':0, 'alpha':0, 'space':0, 'other':0 } for i in s: if i.isdigit(): dic['num'] +=1 elif i.i