gpt4 book ai didi

python - 从 float32 到 float16 的 numpy astype

转载 作者:太空狗 更新时间:2023-10-30 00:01:22 41 4
gpt4 key购买 nike

我想知道 numpy 如何从 float32 转换为 float16,因为当我使用 astype 将一些数字(如 8193)从 float32 转换为 float16 时,它将输出 8192,而将 10000 个 float32 转换为 10000 个 float16。

import numpy as np
a = np.array([8193], dtype=np.float32)
b = a.astype(np.float16)

最佳答案

IEEE 754-2008 16 位 base 2 格式,又名 binary16,不能提供很高的精度。您对 16 位有什么期望? :) 1 位是符号位,5 位用于指数,剩下 10 位用于存储归一化的 11 位尾数,因此任何 > 2**11 == 2048 都必须量化。

根据 Wikipedia , 4097 到 8192 之间的整数四舍五入到 4 的倍数,8193 到 16384 之间的整数四舍五入到 8 的倍数。

关于python - 从 float32 到 float16 的 numpy astype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46705778/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com