如何计算模型中的参数数量,例如LnET for mnist,或ConvNet for imagent model等。 caffe中是否有任何特定函数可返回或保存模型中的参数数量。 问候
答案 0 :(得分:3)
这是一个用于计算Caffe模型中参数数量的python片段:
{{1}}
https://gist.github.com/kaushikpavani/a6a32bd87fdfe5529f0e908ed743f779
答案 1 :(得分:1)
我可以通过Matlab接口提供一种明确的方法(确保首先安装matcaffe)。 基本上,您从每个网络层提取参数集并对其进行计数。 在Matlab中:
% load the network
net_model = <path to your *deploy.prototxt file>
net_weights = <path to your *.caffemodel file>
phase = 'test';
test_net = caffe.Net(net_model, net_weights, phase);
% get the list of layers
layers_list = test_net.layer_names;
% for those layers which have parameters, count them
counter = 0;
for j = 1:length(layers_list),
if ~isempty(test_net.layers(layers_list{j}).params)
feat = test_net.layers(layers_list{j}).params(1).get_data();
counter = counter + numel(feat)
end
end
最后,&#39;反击&#39;包含参数的数量。