我有一个占位符变量,需要一批输入图像:
input_placeholder = tf.placeholder(tf.float32, [None] + image_shape, name='input_images')
现在我有两个输入数据源:
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 数组,因为这会减慢我的程序速度,还有其他方法吗?
最佳答案
这个问题2016年就在GitHub上讨论过,请查看here 。这是concretevitamin的要点:
One key thing to note is that Tensor is simply a symbolic object. The values of your feed_dict are the actual values, e.g. a Numpy ndarry.
张量作为符号对象在图内流动,而实际值在图外,那么我们只能将实际值传入图内,而符号对象不能存在于图外。
关于Tensorflow:如何用张量提供占位符变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42560209/