Tensorflow:如何使用张量来提供占位符变量?

mcE*_*nge 24 tensorflow

我有一个占位符变量,需要一批输入图像:

input_placeholder = tf.placeholder(tf.float32, [None] + image_shape, name='input_images')
Run Code Online (Sandbox Code Playgroud)

现在我有2个输入数据源:
1)张量和
2)一些numpy数据.

对于numpy输入数据,我知道如何将数据提供给占位符变量:

sess = tf.Session()
mLoss, = sess.run([loss], feed_dict = {input_placeholder: myNumpyData})
Run Code Online (Sandbox Code Playgroud)

如何将张量提供给该占位符变量?

mLoss, = sess.run([loss], feed_dict = {input_placeholder: myInputTensor})
Run Code Online (Sandbox Code Playgroud)

给我一个错误:

TypeError: The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, or numpy ndarrays.
Run Code Online (Sandbox Code Playgroud)

我不想将张量转换成一个numpy数组使用.eval(),因为这会减慢我的程序速度,还有其他方法吗?

Yar*_*tov -1

这对我最新版本有效...也许你有旧版本的 TF?

a = tf.Variable(1)
sess.run(2*a, feed_dict={a:5}) # prints 10
Run Code Online (Sandbox Code Playgroud)

  • 正确的,“feed_dict”仅用于提供数据。如果您想输入张量,请使用常规 TensorFlow API。即,“tf.add(a,b)”将“a”和“b”“馈送到”“tf.add”中。你可能想要 `sess.run(a.assign(someTensorObject))` (3认同)