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

来源:互联网 发布:mac相簿和相册的区别 编辑:程序博客网 时间:2024/05/22 10:54

【Python坑系列】

为了节约空间,使用numpy数组时候采用了float16,结果发现精度远远不达标

默认的floar64是最接近原本浮点数的

a = 0.0001 * np.ones(10,np.float16)aOut[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)aOut[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)aOut[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)aOut[212]: array([ 0.9999,  0.9999,  0.9999,  0.9999,  0.9999,  0.9999,  0.9999,        0.9999,  0.9999,  0.9999])



原创粉丝点击