Python sess.run()和";。eval();在张量流程序设计中
在Tensorflow编程中,有人能告诉我“.eval()”和“sess.run()”之间的区别吗。每个对象都做什么以及何时使用它们?会话对象封装了计算张量对象的环境 如果Python sess.run()和";。eval();在张量流程序设计中,python,tensorflow,machine-learning,deep-learning,data-science,Python,Tensorflow,Machine Learning,Deep Learning,Data Science,在Tensorflow编程中,有人能告诉我“.eval()”和“sess.run()”之间的区别吗。每个对象都做什么以及何时使用它们?会话对象封装了计算张量对象的环境 如果x是tf.Tensor对象,tf.Tensor.eval是tf.Session.run的缩写,其中sess是当前的tf.get\u default\u Session 您可以将会话设置为默认值,如下所示 x = tf.constant(5.0) y = tf.constant(6.0) z = x * y with tf.S
x
是tf.Tensor
对象,tf.Tensor.eval
是tf.Session.run
的缩写,其中sess
是当前的tf.get\u default\u Session
您可以将会话设置为默认值,如下所示
x = tf.constant(5.0)
y = tf.constant(6.0)
z = x * y
with tf.Session() as sess:
print(sess.run(z)) # 30.0
print(z.eval()) # 30.0
最重要的区别是,您可以使用sess.run
在下面相同的步骤中获取许多张量的值
print(sess.run([x,y])) # [5.0, 6.0]
print(sess.run(z)) # 30.0
其中aseval
一次获取一个张量值,如下所示
print(x.eval()) # 5.0
print(z.eval()) # 3.0
TensorFlow计算定义了一个计算图,该图在如下计算之前没有数值
print(x) # Tensor("Const_1:0", shape=(), dtype=float32)
在
Tensorflow 2.x(>=2.0)
中,可以使用tf.compat.v1.Session()
而不是tf.Session()
Session对象封装评估Tensor对象的环境
如果x
是tf.Tensor
对象,tf.Tensor.eval
是tf.Session.run
的缩写,其中sess
是当前的tf.get\u default\u Session
您可以将会话设置为默认值,如下所示
x = tf.constant(5.0)
y = tf.constant(6.0)
z = x * y
with tf.Session() as sess:
print(sess.run(z)) # 30.0
print(z.eval()) # 30.0
最重要的区别是,您可以使用sess.run
在下面相同的步骤中获取许多张量的值
print(sess.run([x,y])) # [5.0, 6.0]
print(sess.run(z)) # 30.0
其中aseval
一次获取一个张量值,如下所示
print(x.eval()) # 5.0
print(z.eval()) # 3.0
TensorFlow计算定义了一个计算图,该图在如下计算之前没有数值
print(x) # Tensor("Const_1:0", shape=(), dtype=float32)
在
Tensorflow 2.x(>=2.0)
中,您可以使用tf.compat.v1.Session()
而不是tf.Session()
它的帮助是否已满?是的,这很有帮助。非常感谢。所以,如果我有张量,a&b,f=a+b,我可以做a.eval(),b.eval(),sess.run(f)和sess.run([a,b])。那是写的吗?是全套的吗?是的,这很有帮助。非常感谢。所以,如果我有张量,a&b,f=a+b,我可以做a.eval(),b.eval(),sess.run(f)和sess.run([a,b])。是这样写的吗?@Pranav Kaushik,如果答案回答了你的问题,请你接受并投票表决。感谢You@PranavKaushik,如果答案回答了你的问题,你能接受并投票吗。非常感谢。