我正在阅读这篇关于卷积神经网络的CS231n教程。他们举了一个关于VGGNet的例子:
http://cs231n.github.io/convolutional-networks/
VGGNet详细介绍。让我们更详细地分析VGGNet 研究。整个VGGNet由执行3x3的CONV层组成 带有步幅1和垫1的卷积,以及执行的POOL层的卷积 2x2 max pooling with stride 2(并且没有填充)。我们可以写出来 处理和保持的每个步骤的表示的大小 跟踪表示大小和权重总数:
但问题是,对于总内存,教程给出了24M的结果,但是当我计算它时,我只有大约15M!我只是添加了所有的回忆:
>>> 224*224*(3+64*2)+112*112*(64+128*2)+56*56*(128+256*3)+28*28*(256+512*3)+14*14*(512*4)+7*7*512+4096+4096+1000
15237608
请帮帮我。
答案 0 :(得分:0)
15.2M * 4 bytes ~= 61Mb
事实上,这个错误很久以前就已经reported了,但不幸的是CS231n的工作人员并没有花太多时间在网站维护上......
但是,请注意,如果您在任何框架(Caffe,Tensorflow等)中编码VGG网络,总模型大小将包括参数,这部分要大得多,正如作者在他们的计算中所示(这似乎是正确的) )。