https://www.tensorflow.org/versions/r0.12/api_docs/python/framework/tensor_types中列出的tf.float16和tf.bfloat16之间有什么区别?
还有,他们所说的“量化整数”是什么意思?
https://www.tensorflow.org/versions/r0.12/api_docs/python/framework/tensor_types中列出的tf.float16和tf.bfloat16之间有什么区别?
还有,他们所说的“量化整数”是什么意思?
2条答案
按热度按时间8cdiaqws1#
bfloat16
是一种tensorflow 格式,不同于IEEE自己的float16
,因此有了新的名称。基本上,
bfloat16
是float32
的前16位截断值。因此,它有相同的8位用于指数,只有7位用于尾数。因此,它很容易与float32
进行转换,并且因为它与float32
具有基本相同的值域。它最小化了当从float32
切换时具有NaN
或爆发/消失梯度的风险。从sources:
至于量化整数,它们被设计用来代替训练过的网络中的浮点数,以加快处理速度,基本上,它们是真实的的一种定点编码,尽管选择了一个操作范围来表示网络中任何给定点的观察分布。
关于量化here的更多信息。
nr7wwzry2#
下面的图片描述了三种浮点格式的内部结构:
有关详细信息,请参阅BFloat16: The secret to high performance on Cloud TPUs