Python 为什么tf.Print()不在tensorflow中打印

Python 为什么tf.Print()不在tensorflow中打印,python,tensorflow,Python,Tensorflow,下面的代码没有给出任何错误,但也没有打印张量 import tensorflow as tf import numpy as np # Some tensor we want to print the value of x = tf.placeholder(tf.float32, shape=[2, 2, 2]) a = np.array([[[1.,1.], [1.,1.]], [[2.,2.], [2.,2.]]]) m = tf.Print(x,[x]) with tf.Sessio

下面的代码没有给出任何错误,但也没有打印张量

import tensorflow as tf
import numpy as np

# Some tensor we want to print the value of
x = tf.placeholder(tf.float32, shape=[2, 2, 2])
a = np.array([[[1.,1.], [1.,1.]], [[2.,2.], [2.,2.]]])

m = tf.Print(x,[x])

with tf.Session() as sess:
    sess.run(tf.initialize_all_variables())
    m_eval = m.eval(session=sess,feed_dict={x: a})

编辑:在bgshi回复之后,我发现在iPython控制台中,代码确实打印了张量值。但我用的是iPython笔记本。是否有办法将其显示在笔记本中?

来自文档:

此op打印到标准错误。它当前与jupyter笔记本不兼容(打印到笔记本服务器的输出,而不是打印到笔记本中)


我尝试了你的代码,它确实打印了张量。我用的是tensorflow 0.8,你用的是哪个版本?嗯,这太令人惊讶了。我也在用0.8。我在ubuntu 14.04中使用它。我在ipython笔记本上试过。你也在用ipython笔记本吗?它是内联打印还是保存在日志文件中?我正在使用控制台。输出是
I tensorflow/core/kernels/logging\u ops.cc:79][1…]
。所以,我想它被保存到一个日志文件中。在控制台中尝试之后,我得到的正是您得到的。但是我找不到日志文件。你知道有没有办法让它在ipython笔记本上运行吗?我对ipython笔记本几乎没有经验,但这可能会有所帮助: