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 指出这一点!