我正在阅读这篇关于卷积神经网络的CS231n教程。他们举了一个关于VGGNet的例子:
http://cs231n.github.io/convolutional-networks/
详细介绍了VGGNet。让我们将VGGNet更详细地分解为一个案例研究。整个VGGNet由跨1和pad 1执行3x3卷积的CONV层和跨2执行2x2max池(没有填充)的池层组成。我们可以在处理的每一步写出表示的大小,并跟踪表示大小和权重总数:
然后给出网络结构的详细计算:

但是问题是,对于总内存,教程给出了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请帮帮我。
发布于 2018-03-22 13:59:34
抓得好!您的计算是正确的,VGG表示的总内存确实是
15.2M * 4 bytes ~= 61Mb事实上,这个错误在很久以前就已经出现了,但是不幸的是,已报告的工作人员并没有花费太多的时间在网站维护上。
但是,请注意,如果在任何框架(Caffe、Tensorflow等)中编码VGG网络,则模型的总大小将包括参数,并且这一部分要大得多,正如作者在计算中所显示的(这似乎是正确的)。
https://stackoverflow.com/questions/49423323
复制相似问题