Deep learning GoogleNet有多少个参数?

Deep learning GoogleNet有多少个参数?,deep-learning,caffe,Deep Learning,Caffe,我编写了一个简单的脚本来计算给定体系结构的参数数量。这是: #python caffe_param_calc.py deploy.prototxt #or just call the script without any arguments, and it will search and show any deploy you have in the current directory import sys import os import caffe import numpy as np f

我编写了一个简单的脚本来计算给定体系结构的参数数量。这是:

#python caffe_param_calc.py deploy.prototxt
#or just call the script without any arguments, and it will search and show any deploy you have in the current directory

import sys
import os
import caffe
import numpy as np
from numpy import prod, sum
from pprint import pprint

def print_net_parameters (deploy_file):
    print "Net: " + deploy_file
    caffe.set_mode_cpu()
    net = caffe.Net(deploy_file, caffe.TEST)

    print "Layer-wise parameters: "
    pprint([(k, v[0].data.shape) for k, v in net.params.items()])
    num = sum( [prod(v[0].data.shape) for k, v in net.params.items()] )
    print ("Total number of parameters: {0:,} ".format(num))

print (len(sys.argv))
if len(sys.argv) > 1 :
    deploy_file = sys.argv[1]
else:
    for file in os.listdir('.'):
        if (file.endswith('.prototxt')):
           deploy_file = file

print_net_parameters(deploy_file)
我在GoogleNet上使用了这个,得到了所用参数的数量
11193984
,而在他们的论文中,如果你把他们在表1中列出的所有参数加起来,参数的总数将变成670万!而且这张表似乎也不准确!。我现在的问题是,我这样做对吗?我在不同的体系结构上使用了相同的脚本,得到了正确的结果。
例如,VGGNet()的参数总数为102897440

Layer-wise parameters:
[('conv1', (96L, 3L, 7L, 7L)),
 ('conv2', (256L, 96L, 5L, 5L)),
 ('conv3', (512L, 256L, 3L, 3L)),
 ('conv4', (512L, 512L, 3L, 3L)),
 ('conv5', (512L, 512L, 3L, 3L)),
 ('fc6', (4096L, 18432L)),
 ('fc7', (4096L, 4096L)),
 ('fc8', (1000L, 4096L))]
Total number of parameters: 102,897,440

根据论文()和简短的计算,它似乎是正确的。GoogLeNet中的参数数量是通过使用网络集合生成的。他们将7个这样的网络组合起来作为输出。

根据论文()和一个简短的计算,这似乎是正确的。GoogLeNet中的参数数量是通过使用网络集合生成的。他们组合了7个这样的网络作为输出。

关于偏差项呢?小心不要计算“BatchNorm”层的参数。@Shai:BatchNorm层和比例不被考虑在内。我用batchnorm和不使用batchnorm进行了测试,得到了相同数量的参数偏差项是什么?小心不要计算“BatchNorm”层的参数。@Shai:BatchNorm层和比例不被考虑在内。我测试了batchnorm和batchnorm,得到了相同数量的参数Hanks,那么你的意思是参数的数量实际上是1100万对吗?谢谢,那么你的意思是参数的数量实际上是1100万对吗?