tensorflow打印tensor值

tensorflow打印tensor值

在tensorflow中,打印一个tensor值必须在在一个会话Session中进行,并且可以使用Session.run()或Tensor.eval()进行打印x的值:

  • 使用 print(sess.run(x))
  • 使用print(x.eval())

Session.run和Tensor.eval

1.联系:

如果t是一个tf.Tensor对象,则tf.Tensor.eval是tf.Session.run的缩写(其中 的tf.Sesstion是tf.get_default_session)也就是:

1
tensor.eval()=tf.get_default_session().run(tensor)

2.区别:

这两个中间最主要的区别就在于

使用sess.run()能在同一步获取多个tensor中的值。

1
2
3
4
5
6
7
8
9
import tensorflow as tf

x = tf.ones(shape=[2, 3], dtype=tf.int32,name='x')
y= tf.zeros(shape=[2, 3], dtype=tf.float32,name='y')

with tf.Session() as sess:
print(sess.run([x,y])) #一次能打印两个
print(x.eval())
print(y.eval()) #一次只能打印一个
0%