TensorFlow 的 Print 不打印
TensorFlow's Print is not printing
我正在尝试从强化学习算法中理解一些代码。为此,我正在尝试打印张量的值。
我做了一段简单的代码来表达我的意思。
import tensorflow as tf
from keras import backend as K
x = K.abs(-2.0)
tf.Print(x,[x], 'x')
目标是打印值“2”(-2 的绝对值)。但我只得到以下信息:
Using TensorFlow backend.
Process finished with exit code 0
没有,我怎样才能像 print('...') 语句那样打印值“2”?
如果您使用的是 Jupyter Notebook,那么 tf.Print()
到目前为止不兼容,并且会按照 docs
中所述将输出打印到 Notebook 的服务器输出
在 tensorflow 文档中,张量是这样描述的:
When writing a TensorFlow program, the main object you manipulate and pass around is the tf.Tensor. A tf.Tensor object represents a partially defined computation that will eventually produce a value.
因此,您必须使用 tf.Session()
初始化它们才能获得它们的值。要打印该值,您 eval()
这是你想要的代码:
import tensorflow as tf
from keras import backend as K
x= K.abs(-2.0)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
print(x.eval())
初始化程序对于实际初始化 x 很重要。
在 TF 2.0 及更高版本中打印张量
my_sample = tf.constant([[3,5,2,6], [2,8,3,1], [7,2,8,3]])
和session.run()
with tf.compat.v1.Session() as ses:
print(ses.run(my_sample))
一行eval()
print(tf.keras.backend.eval(my_sample))
出于学习的目的,有时打开eager execution会很方便。启用 Eager Execution 后,TensorFlow 将立即执行操作。然后,您可以简单地使用 print 或 tensorflow.print() 打印出对象的值。
import tensorflow as tf
from keras import backend as K
tf.compat.v1.enable_eager_execution() # enable eager execution
x = K.abs(-2.0)
tf.Print(x,[x], 'x')
有关详细信息,请参阅此处。 https://www.tensorflow.org/api_docs/python/tf/compat/v1/enable_eager_execution
我正在尝试从强化学习算法中理解一些代码。为此,我正在尝试打印张量的值。
我做了一段简单的代码来表达我的意思。
import tensorflow as tf
from keras import backend as K
x = K.abs(-2.0)
tf.Print(x,[x], 'x')
目标是打印值“2”(-2 的绝对值)。但我只得到以下信息:
Using TensorFlow backend.
Process finished with exit code 0
没有,我怎样才能像 print('...') 语句那样打印值“2”?
如果您使用的是 Jupyter Notebook,那么 tf.Print()
到目前为止不兼容,并且会按照 docs
在 tensorflow 文档中,张量是这样描述的:
When writing a TensorFlow program, the main object you manipulate and pass around is the tf.Tensor. A tf.Tensor object represents a partially defined computation that will eventually produce a value.
因此,您必须使用 tf.Session()
初始化它们才能获得它们的值。要打印该值,您 eval()
这是你想要的代码:
import tensorflow as tf
from keras import backend as K
x= K.abs(-2.0)
with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)
print(x.eval())
初始化程序对于实际初始化 x 很重要。
在 TF 2.0 及更高版本中打印张量
my_sample = tf.constant([[3,5,2,6], [2,8,3,1], [7,2,8,3]])
和session.run()
with tf.compat.v1.Session() as ses: print(ses.run(my_sample))
一行eval()
print(tf.keras.backend.eval(my_sample))
出于学习的目的,有时打开eager execution会很方便。启用 Eager Execution 后,TensorFlow 将立即执行操作。然后,您可以简单地使用 print 或 tensorflow.print() 打印出对象的值。
import tensorflow as tf
from keras import backend as K
tf.compat.v1.enable_eager_execution() # enable eager execution
x = K.abs(-2.0)
tf.Print(x,[x], 'x')
有关详细信息,请参阅此处。 https://www.tensorflow.org/api_docs/python/tf/compat/v1/enable_eager_execution