Neural network caffe中过滤器内的值
我试图理解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
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