Tensorflow:如何使用张量输入占位符变量?
tensorflow
6
0

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

input_placeholder = tf.placeholder(tf.float32, [None] + image_shape, name='input_images')

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

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

sess = tf.Session()
mLoss, = sess.run([loss], feed_dict = {input_placeholder: myNumpyData})

如何将张量输入该占位符变量?

mLoss, = sess.run([loss], feed_dict = {input_placeholder: myInputTensor})

给我一个错误:

TypeError: The value of a feed cannot be a tf.Tensor object. Acceptable feed values include Python scalars, strings, lists, or numpy ndarrays.

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

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

您可以使用feed_dict将数据提供给非占位符。因此,首先,将数据流图直接连接到myInputTensor张量数据源(即,不使用占位符)。然后,当你想与您的numpy的数据运行,你可以有效地掩盖myImportTensormyNumpyData ,就像这样:

mLoss, = sess.run([loss], feed_dict={myImportTensor: myNumpyData})

[但是,我仍在尝试如何使用多个张量数据源执行此操作。]

收藏
评论

这已在2016年的GitHub上进行了讨论,请在此处查看 。这是具体维生素的要点:

需要注意的关键一件事是Tensor只是一个符号对象。 feed_dict的值是实际值,例如Numpy ndarry。

张量作为符号对象在图形中流动而实际值在图形外部时,则我们只能将实际值传递到图形中,而符号对象不能存在于图形外部。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号