TensorFlow - “TypeError:Fetch Argument None”

时间:2017-12-27 21:46:08

标签: tensorflow machine-learning typeerror gradient-descent

当我执行最简单的图形时,TensorFlow会抛出 TypeError

sess = tf.Session()
x1 = tf.placeholder(tf.float32)
x2 = tf.placeholder(tf.float32)
z = x1

sess.run(tf.gradients(z, [x1, x2]), feed_dict={x1: 1, x2: 1})

这会产生

TypeError: Fetch argument None has invalid type <class 'NoneType'>

有趣的是,如果我将一行代码更改为:

z = x1 + x2

然后一切正常! 为什么会这样?

1 个答案:

答案 0 :(得分:2)

根据您的描述,我正确修改了代码。

import tensorflow as tf

sess = tf.Session()
x1 = tf.placeholder(tf.float32)
x2 = tf.placeholder(tf.float32)

z = x1
print sess.run(tf.gradients(z, [x1]), feed_dict={x1: 1})

z = x1 + x2
print sess.run(tf.gradients(z, [x1, x2]), feed_dict={x1: 1, x2: 1})

现在没有错误。我相信你能理解你的问题。

当您要应用某个功能时,您可能需要查看该文档。以下是tf.gradients上的文件。