如https://www.tensorflow.org/versions/r0.12/api_docs/python/framework/tensor_types中列出的tf.float16和tf.bfloat16有什么区别?
另外,“量化整数”是什么意思?
bfloat16是特定于张量流的格式,与IEEE自己的格式不同float16,因此是新名称。
基本上blfoat16是float32将其截断为前16位。因此它具有相同的8位指数,而尾数只有7位。因此,从和转换很容易float32,并且因为它的范围基本相同float32,所以NaN从切换时,使s或爆炸/消失梯度的风险降到最低float32。
从来源:
// Compact 16-bit encoding of floating point numbers. This representation uses
// 1 bit for the sign, 8 bits for the exponent and 7 bits for the mantissa. It
// is assumed that floats are in IEEE 754 format so the representation is just
// bits 16-31 of a single precision float.
//
// NOTE: The IEEE floating point standard defines a float16 format that
// is different than this format (it has fewer bits of exponent and more
// bits of mantissa). We don't use that format here because conversion
// to/from 32-bit floats is more complex for that format, and the
// conversion for this format is very simple.
对于量化的整数,它们旨在替换受过训练的网络中的浮点以加快处理速度。基本上,它们是实数的定点编码,尽管选择的工作范围是代表在网络的任何给定点处观察到的分布。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。