在python Tensorflow中存储高十进制值

时间:2017-04-16 06:09:27

标签: python tensorflow

value1和value 2是一个数组,其值彼此接近 这将导致临时具有非常高的十进制值

temp = tf.sub(value1,value2)

但是,当我尝试打印temp out时,由于数组中的高十进制值,它包含0.0值的数组。

如何保持所有变量的精度?

1 个答案:

答案 0 :(得分:1)

您可以在应用value1之前设置value2tf.sub的类型来执行此操作。例如:

value1=tf.constant(5.0000000001,dtype=tf.float64)
value2=tf.constant(5.0000000002,dtype=tf.float64)
s=tf.sub(value1,value2)
sess=tf.InteractiveSession()
s.eval()

这会打印-1.000000082740371e-10

数组相同:

value1=tf.constant([5.0000000001,2.0001],dtype=tf.float64)
value2=tf.constant([5.0000000002,2.000],dtype=tf.float64)
s=tf.sub(value1,value2)
sess=tf.InteractiveSession()
s.eval()

这会打印array([ -1.00000008e-10, 1.00000000e-04])