我目前正在使用Lasagne / Theano进行循环神经网络的工作。
在训练过程中,使用Theano的符号梯度来计算更新。
grads = theano.grad(loss_or_grads, params)
虽然梯度表达式通常没有问题,但为了监控训练,我也对梯度值感兴趣。
我的问题是是否有内置方法可以获取梯度值,这是我到目前为止还没有找到的,或者我必须自己做。
提前致谢。
grad = theano.grad(loss, l_hid.W_hid_to_hid)
get_grad = theano.function([inputs, targets], grad)
get_grad
即可。get_grad()
不需要传递权重的值,因为它们作为theano共享变量存储。