您的位置:首页 > 编程语言 > Python开发

【Python】numpy数组用dtype=float16初始化的坑

2017-09-21 17:15 453 查看
【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])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: