Python tf.range()结果不一致
我试图用N个数字生成一个从0到1的区间Python tf.range()结果不一致,python,tensorflow,Python,Tensorflow,我试图用N个数字生成一个从0到1的区间 import tensorflow as tf N = 200 print(tf.__version__) for n in range(1,N): step = 1.0 / float(n) numbs = tf.range(0,step*n,step) # print(numbs.numpy()) x = len(numbs) - n if(x!=0): print(len(numbs),n,s
import tensorflow as tf
N = 200
print(tf.__version__)
for n in range(1,N):
step = 1.0 / float(n)
numbs = tf.range(0,step*n,step)
# print(numbs.numpy())
x = len(numbs) - n
if(x!=0):
print(len(numbs),n,step*n)
但是在下面的例子中,对于len(number)
和n
62 61 1.0
110 109 1.0
116 115 1.0
122 121 1.0
123 122 1.0
124 123 1.0
我不确定这里出了什么问题。有什么想法吗?我的猜测是,由于浮点数表示为有限精度的数字,所以在处理涉及浮点数的范围时,这种行为是可以预料的。我也尝试了'tf.range(0,1,step)`但结果是一样的。有什么补救措施吗?问题在于
步骤
而不是步骤*n
。因为步骤*n
始终为1.0。我真的不知道有什么补救办法。