tf.gradients 函数应用
tf.gradients application on a function
x = tf.Placeholder(shape=[1,31,5,1])
def func(x):
operations...
return output
convolutionFunction = func(x)
sess = tf.Session()
gradientConv1 = gradientConv1 + sess.run(tf.gradients(tf.square(reward-convolutionFunction), weightsConv1))
gradientConv1(形状 [2,2,1,32] 的 numpy 数组)
weightsConv1(形状为 [2,2,1,32] 的张量变量)
我收到 "Placeholder should have a dtype of float and shape of [1,31,5,1]" 这样的错误。好像是在告诉我,我没有给sess.run中的函数一个feed_dict?请指出错误。
我区分每个值的方法也是正确的。
奖励是一个标量
gradientConv1 = gradientConv1 + sess.run(tf.gradients(tf.square(reward-convolutionFunction), weightsConv1), feed_dict={x: <valueOfPlaceholder> })
其中 valueOfPlaceholder 是我们希望计算函数的点
感谢 Andrey Akhmetov 指出这一点!
x = tf.Placeholder(shape=[1,31,5,1])
def func(x):
operations...
return output
convolutionFunction = func(x)
sess = tf.Session()
gradientConv1 = gradientConv1 + sess.run(tf.gradients(tf.square(reward-convolutionFunction), weightsConv1))
gradientConv1(形状 [2,2,1,32] 的 numpy 数组) weightsConv1(形状为 [2,2,1,32] 的张量变量)
我收到 "Placeholder should have a dtype of float and shape of [1,31,5,1]" 这样的错误。好像是在告诉我,我没有给sess.run中的函数一个feed_dict?请指出错误。 我区分每个值的方法也是正确的。
奖励是一个标量
gradientConv1 = gradientConv1 + sess.run(tf.gradients(tf.square(reward-convolutionFunction), weightsConv1), feed_dict={x: <valueOfPlaceholder> })
其中 valueOfPlaceholder 是我们希望计算函数的点
感谢 Andrey Akhmetov 指出这一点!