如何获得张量的值?蟒蛇

时间:2018-06-19 11:58:34

标签: python tensorflow

在进行一些计算时,我最终计算出average_acc。当我尝试打印时,它输出:tf.Tensor(0.982349, shape=(), dtype=float32)。如何获取它的0.98..值并将其用作普通浮点数?

我想做的是将一堆数组放在一个数组中并绘制一些图形,但是为此,我需要尽可能简单的浮点数。

3 个答案:

答案 0 :(得分:2)

在我看来,您好像还没有评估张量。您可以致电tensor.eval()评估结果,也可以使用session.run(tensor)

import tensorflow as tf

a = tf.constant(3.5)
b = tf.constant(4.5)
c = a * b

with tf.Session() as sess:
    result = c.eval()
    # Or use sess.run:
    # result = sess.run(c)

    print(result) 
    # out: 15.75

    print(type(result))
    # out: <class 'numpy.float32'>

答案 1 :(得分:1)

在会话中运行它,然后打印。除非您在会话中运行它,否则它将作为对象保留在Tensorflow中,它将不会被初始化。这是一个示例:

with tf.Session() as sess:
   acc = sess.run(average_acc)
   print(acc)

答案 2 :(得分:0)

最简单,最好的方法是使用tf.keras.backend.get_value API。

print(average_acc)
>>tf.Tensor(0.982349, shape=(), dtype=float32)
print(tf.keras.backend.get_value(average_acc))
>>0.982349