分析神经网络参数量及计算量

知乎上有一篇文章,介绍了网络的时间复杂度和空间复杂度https://zhuanlan.zhihu.com/p/31575074

只有卷积操作和全连接操作会有参数的增加,池化不会。

1、卷积操作参数量及计算量

以VGG16网络为例,

分析神经网络参数量及计算量_第1张图片

第一层卷积图像输入为224x224x3,输出224×224×64,卷积核大小3×3,因此 

计算量:

 224\times 224\times 3\times 3\times 3\times 64\approx8.7\times 10^{7}

参数量:

3\times 3\times 3\times 64\ + 64= 1792

参数量计算中,3x3x3是三维的卷积核,64是这一层的卷积核数量,加法项是偏置参数数量。

 

最后一个卷积层:输入14×14×512,输出14×14×512,卷积核大小3×3,因此

计算量:

14\times 14\times 3\times 3\times 512\times 512=4.6\times 10^{8}

参数量:

3\times 3\times 512\times 512\ + 512=2359808

 

2、全连接层参数量及计算量

VGG最后一个全连接层:上层神经元数为4096,下层神经元数为1000。全连接层可以视为一种特殊的卷积层:上层为1×1×4096,下层为1×1×1000,使用的1×1的卷积核进行卷积。

计算量:

1\times 1\times 1\times 1\times 4096\times 1000=4096 000

参数量:

1\times 1\times 4096\times 1000\ + 1=4096001

 

其余层参数量计算参考https://blog.csdn.net/qian99/article/details/79008053

知乎文章https://zhuanlan.zhihu.com/p/86587652中,关于计算量有更详细复杂的公式,只是我没看明白!!有懂的大佬,可以一起交流一下。

你可能感兴趣的:(深度学习)