tensorflow float32十进制精度

时间:2017-04-04 02:51:54

标签: tensorflow

在尝试Tensorflow介绍时,我遇到了以下代码

w=tf.Variable(.3,tf.float32)
b=tf.Variable(-.3,tf.float32)

打印此值时,它会提供以下输出

print(sess.run(w))
print(sess.run(b))
print(sess.run([w]))
print(sess.run([b]))

输出

-0.3
-0.3
[0.30000001]
[-0.30000001]

为什么在打印为数组时它会提供额外的浮点精度? 是否有与此主题相关的文档?

1 个答案:

答案 0 :(得分:1)

Here是回答这个问题的绝佳资源。要解释该网页上的第一段:

  

TensorFlow没有被破坏,它正在进行浮点数学运算。计算机只能本机存储整数,因此它们需要一些表示十进制数的方法。这种表示有一定程度的不准确性。这就是为什么,通常是.3 == .30000001。