参数量与计算量

Posted gezhuangzhuang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数量与计算量相关的知识,希望对你有一定的参考价值。

例:输入是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

 

以上是关于参数量与计算量的主要内容,如果未能解决你的问题,请参考以下文章

神经网络参数量计算

Python全栈__动态参数名称空间作用域作用域链加载顺序函数的嵌套globalnonlocal

java中的编译时常量与运行时常量

iTunes Connect - 总安装量与已安装应用程序的当前设备

6. 成交量基础分析

LevelDB的互斥量与条件变量