在做模型量化的时候,经常遇到这几个类精度表示,做下记录:
类型 | 位 | |
float16 | 半精读 | 2个字节 |
float32 | float | 4个字节 |
float64 | 双精度 | 8个字节 |
注:
bits:位数
bytes:字节 1bytes = 8 bits
单精度用小数用23位存储,加上默认的小数点前的1为1,2^(23+1) = 16777216.
因为10^7<16777216<10^8,所以说单精度浮点数的有效位数是7位。
双精度的小数位数是52位存储,2^(52+1) = 9007199254740992.
因为10^16<9007199254740992<10^17,所以双精度的有效位数是16位。