栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python numpy float16数据类型操作和float8吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python numpy float16数据类型操作和float8吗?

对于第一个问题:

float16
典型处理器(至少在GPU外部)不支持硬件。NumPy完全按照您的建议进行
float16
操作:将操作数转换为
float32
,对
float32
值执行标量运算,然后将
float32
结果四舍五入到
float16
。可以证明结果仍然是正确的四舍五入:的精度
float32
足够大(相对于的精度
float16
),因此在这里至少考虑了四个基本算术运算和平方根的情况下,双精度舍入不是问题。

在当前的NumPy源码中,这就是

float16
标量运算的四个基本算术运算的定义。

#define half_ctype_add(a, b, outp) *(outp) =         npy_float_to_half(npy_half_to_float(a) + npy_half_to_float(b))#define half_ctype_subtract(a, b, outp) *(outp) =         npy_float_to_half(npy_half_to_float(a) - npy_half_to_float(b))#define half_ctype_multiply(a, b, outp) *(outp) =         npy_float_to_half(npy_half_to_float(a) * npy_half_to_float(b))#define half_ctype_divide(a, b, outp) *(outp) =         npy_float_to_half(npy_half_to_float(a) / npy_half_to_float(b))

上面的代码来自NumPy源码中的scalarmath.c.src。您也可以在loops.c.src中查看数组ufuncs的相应代码。支撑

npy_half_to_float
npy_float_to_half
功能在halffloat.c中定义,以及该
float16
类型的各种其他支撑功能。

对于第二个问题:不,

float8
NumPy中没有类型。
float16
是一种标准类型(在IEEE
754标准中进行了描述),在某些情况下(尤其是GPU)已经广泛使用。没有IEEE
754
float8
类型,并且似乎没有明显的“标准”
float8
类型候选对象。我还猜想
float8
NumPy中对支持的需求并没有那么多。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号