C++如何实现FP16(IEEE754-2008)类型?
计算机在进行数值计算时,首先需要对数据进行表示,比如F32、F16、F64、int32、int16、int8等等。特别在深度学习中,如果模型的参数是F32类型,那么计算耗时且保存的参数占用内存大。
为了准确率同时保证计算的速度,一般需要把模型转换成F16类型。F16即是通过16个bit(位)表示浮点数类型。
我们一起看一下:
- IEEE754-2008如何定义Float32和Float16的?
- float32和float16如何转换?在C++23版本以下标准库是没有f16类型的。
- Float16不用转换成float32比较,如何直接比较大小?