pycaffe得到梯度/重量/偏见

问题描述 投票:0回答:1

因此,我已初始化为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)

这应该给我激活,每一层的权重和偏见。然后,我救他们。没有想法虽然梯度。

是这种方法进行加权/偏差/激活正确的呢?

python deep-learning pycaffe
1个回答
0
投票

取而代之。数据使用为.diff的

Implementation Details

正如我们经常感兴趣的值以及BLOB的梯度,一个BLOB存储的记忆,数据和DIFF 2块。前者是我们传递沿正常数据,而后者是由网络计算的梯度。

http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html

请注意,这些将被初始化为零,除非你已经运行了一些训练步骤。

© www.soinside.com 2019 - 2024. All rights reserved.