numpy使用np.sum(...)对np.float32类型的元素求和存在误差

numpy使用np.sum(...)对np.float32类型的元素求和存在误差,第1张

numpy使用np.sum(...)对np.float32类型的元素求和存在误差

以17742644 + 239为例,正确结果应为17742883,但是以np.float32类型求和,则存在求和误差,
因此在以numpy作为底层数值运算库的深度学习框架中,使用float32类型时,可能会与理论值存在差距。

以下代码为在spyder中运行,spyder版本为:Spyder 5.0.0

Python 3.8.8 (default, Apr 13 2021, 15:08:03) [MSC v.1916 64 bit (AMD64)]

import numpy as np

np.__version__
Out[2]: '1.18.5'

np.float32(17742644) + np.float32(239)
Out[3]: 17742884.0

np.float64(17742644) + np.float64(239)
Out[4]: 17742883.0

17742644 + 239
Out[5]: 17742883

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5572110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存