我想了解float16
和float32
在结果精度方面的实际差异。例如,Numpy
允许您选择想要(np.float16, np.float32, np.float64)
的数据类型的范围。我担心的是,如果我决定使用float 16来保留内存并避免可能的溢出,那么与float32相比,这会导致最终结果的损失吗?
谢谢
发布于 2020-09-25 18:34:06
a = np.array([0.123456789121212,2,3], dtype=np.float16)
print("16bit: ", a[0])
a = np.array([0.123456789121212,2,3], dtype=np.float32)
print("32bit: ", a[0])
b = np.array([0.123456789121212121212,2,3], dtype=np.float64)
print("64bit: ", b[0])
发布于 2018-10-14 15:19:35
float32是一个32位数-- float64使用64位。
这意味着float64 64占用的内存是原来的两倍--在某些机器体系结构中,对它们进行操作可能要慢得多。
然而,floats 64可以比32位浮点数更准确地表示数字。
它们还允许存储更大的数字。
对于Python项目,我相信您知道输入变量及其性质。
为了做出决定,我们作为程序员需要问自己
一个天真的例子是,如果我将我市的天气数据存储为12.3,14.5,11.1,9.9,12.2,8.2
第二天的预测产量可能是11.5或11.5164374
您认为存储float 32或float 64是必要的吗?
发布于 2022-05-23 15:04:32
float32不太精确,但比float64更快,flaot64比float32更精确,但消耗更多的内存。如果精度比速度更重要,你可以使用float64。如果速度比精度更重要,你可以使用float32。
https://stackoverflow.com/questions/43440821
复制相似问题