Can*_*uck 0 python types numpy
这个主要问题的例子:
c=np.array([2600.0])
In [3]: c=c.astype(np.float16)
In [4]: c
Out[4]: array([ 2600.], dtype=float16)
Run Code Online (Sandbox Code Playgroud)
好的,然后:
In [5]: c=np.array([2583.0])
In [6]: c=c.astype(np.float16)
In [7]: c
Out[7]: array([ 2584.], dtype=float16)
Run Code Online (Sandbox Code Playgroud)
所以2583.0变成2584.0,很酷,这不会导致任何问题!!!! 当我将一个大型数组转换为np.float16时,我也看到2583.0在相反方向转换为2582.0.
发生了什么事我花了整整一天试图找到这个bug,我从没想过这发生在我的数据上?我使用float16来限制我的内存消耗,但是如果这很危险我将继续移动到32位.
任何人都可以对此有所了解吗?
非常感谢大家.
| 归档时间: |
|
| 查看次数: |
825 次 |
| 最近记录: |