Python 千层面/茶无梯度值
我目前正在使用千层面/西亚诺研究递归神经网络 训练时,使用Theano的符号渐变计算更新Python 千层面/茶无梯度值,python,theano,lasagne,Python,Theano,Lasagne,我目前正在使用千层面/西亚诺研究递归神经网络 训练时,使用Theano的符号渐变计算更新 grads = theano.grad(loss_or_grads, params) 虽然梯度表达式在总体上是完美的,但为了监控训练,我也对梯度值感兴趣 我现在的问题是,是否有一个内置的方法也可以得到梯度值,这是我目前还没有找到的,或者我必须自己做 提前感谢我不知道有什么千层面函数可以计算梯度,但是你可以用简单的theano函数自己得到 假设我们有以下无变量: 输入=网络输入 目标=网络的目标输出 损耗
grads = theano.grad(loss_or_grads, params)
虽然梯度表达式在总体上是完美的,但为了监控训练,我也对梯度值感兴趣
我现在的问题是,是否有一个内置的方法也可以得到梯度值,这是我目前还没有找到的,或者我必须自己做
提前感谢我不知道有什么千层面函数可以计算梯度,但是你可以用简单的theano函数自己得到 假设我们有以下无变量:
=网络输入输入
=网络的目标输出目标
=损耗函数的值,定义为网络输出和损耗
目标的函数
=网络的重现层,键入l\u hid
lasagne.layers.RecurrentLayer
grad = theano.grad(loss, l_hid.W_hid_to_hid)
定义theano函数以获取渐变的数值
get_grad = theano.function([inputs, targets], grad)
现在,只需调用get_grad
即可获得输入和目标的任何值(例如当前的minibatch)get_grad()
不需要传递权重值,因为它们存储为无共享变量