因此,我已初始化为caffe.Net对象
network = caffe.Net('path/to/lenet.prototxt', caffe.TEST)
我想激活,重量偏差,渐变与参数的每一层。我目前的做法是做一个step(100)
要经过100次迭代,然后看看每一层:
for layer_name in network._layer_names:
if layer_name in network.params:
x = layer_name
output = np.array(network.blobs[x].data)
weight = np.array(network.params[x][0].data)
bias = np.array(network.params[x][1].data)
这应该给我激活,每一层的权重和偏见。然后,我救他们。没有想法虽然梯度。
是这种方法进行加权/偏差/激活正确的呢?
取而代之。数据使用为.diff的
Implementation Details
正如我们经常感兴趣的值以及BLOB的梯度,一个BLOB存储的记忆,数据和DIFF 2块。前者是我们传递沿正常数据,而后者是由网络计算的梯度。
http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html
请注意,这些将被初始化为零,除非你已经运行了一些训练步骤。