【Python坑系列】
为了节约空间,使用numpy数组时候采用了float16,结果发现精度远远不达标
默认的floar64是最接近原本浮点数的
a = 0.0001 * np.ones(10,np.float16)
a
Out[206]:
array([ 0.00010002, 0.00010002, 0.00010002, 0.00010002, 0.00010002,
0.00010002, 0.00010002, 0.00010002, 0.00010002, 0.00010002], dtype=float16)
a = 0.0001 * np.ones(10,np.float32)
a
Out[208]:
array([ 9.99999975e-05, 9.99999975e-05, 9.99999975e-05,
9.99999975e-05, 9.99999975e-05, 9.99999975e-05,
9.99999975e-05, 9.99999975e-05, 9.99999975e-05,
9.99999975e-05], dtype=float32)
a = 0.0001 * np.ones(10,np.float64)
a
Out[210]:
array([ 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001,
0.0001, 0.0001, 0.0001])
a = 0.9999 * np.ones(10,np.float64)
a
Out[212]:
array([ 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999,
0.9999, 0.9999, 0.9999])