Neural network caffe中过滤器内的值

Neural network caffe中过滤器内的值,neural-network,deep-learning,caffe,Neural Network,Deep Learning,Caffe,我试图理解caffe网络模型中的以下部分 convolution_param { num_output: 256 pad: 2 kernel_size: 5 group: 2 weight_filler { type: "gaussian" std: 0.01 } bias_filler { type: "constant" value: 1 } } 据我所知,这一层中使用了256

我试图理解caffe网络模型中的以下部分

 convolution_param {
    num_output: 256
    pad: 2
    kernel_size: 5
    group: 2
    weight_filler {
      type: "gaussian"
      std: 0.01
    }
    bias_filler {
      type: "constant"
      value: 1
    }
}
据我所知,这一层中使用了256个过滤器。 我想知道如何选择这些过滤器中的值?
使用尺寸5x5和std dev 0.01,我们可以创建一个过滤器,其他过滤器是如何创建的?

取决于此层的输入尺寸(“通道”形状)。此层有256个过滤器,形状为
,尺寸为-by-
5
-by-
5
。Caffe初始化所有这些值(根据
weight_filler
param),使用来自高斯(正态)分布的i.i.d随机样本,平均值为零,std=0.01

您可以在python中看到这些值(假设层名称为
“conv1”
):

import caffe
net = caffe.Net('/path/to/net.prototxt', caffe.TEST)
layer_idx = list(net._layer_names).index('conv1')
weights = net.layers[layer_idx].blobs[0].data
print "filter values =", weights