convolution - 如何计算 GoogLe Net 的参数数量?

标签 convolution deep-learning

我对 AlexNet 和 VGG 有很好的理解。我可以根据各自论文中提交的内容来验证每一层中使用的参数数量。

然而,当我尝试在 GoogleNet 论文“Going Deeper With COnvolution”上做同样的事情时,即使经过多次迭代,我也无法验证他们论文“表 1”中的数字。

例如,第一层是内核大小为 (7x7) 的良好旧式普通卷积层,输入图数为 3,输出图数为 64。因此基于这一事实,所需参数的数量为 (3 * 49 * 64) + 64(偏差)约为 9.5k,但他们说他们使用 2.7k。我也为其他层做了数学计算,我总是比他们报告的少几个百分点。有什么想法吗?

谢谢

最佳答案

我认为第一行 (2.7k) 是错误的,但表格的其余行是正确的。

这是我的计算: http://i.stack.imgur.com/4bDo9.jpg

my computation

注意检查哪个输入连接到哪个层, 例如对于“inception_3a/5x5_reduce”层:

 input = "pool2/3x3_s2" with 192 channels
 dims_kernel = C*S*S =192x1x1
 num_kernel = 16 

因此该层的参数大小 = 16*192*1*1 = 3072

关于convolution - 如何计算 GoogLe Net 的参数数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585122/

相关文章:

python - 如何在python中逐列对两个矩阵进行线性卷积

java - 如何在JFrame中显示原始图像和模糊图像?

neural-network - 对象检测和对象分类有什么区别?

python - Jupyter Notebook(仅限)内存错误,相同的代码在传统的 .py 中运行并且可以工作

python - CTC损失下降并停止

machine-learning - Keras + Tensorflow 奇怪的结果

python - Keras 的 BatchNormalization 和 PyTorch 的 BatchNorm2d 之间的区别?

java - 从图像样本中获取卷积矩阵?

matlab代码: Gaussian blurring in fourier domain

image-processing - 深度学习中的图像预处理