深度学习模型权重数值精度FP32,FP16,INT8数值类型区别

在深度学习的模型训练中,神经网络的权重以及偏置的数据类型在计算中进行运算存储的时候,采用FP32的单浮点精度的数据类型进行存储,但是在一定时候,我们为了获得更短的训练速度,会使用混合精度训练的方式

混合精度的含义就是,FP32以及FP16进行混合精度的训练模式,虽然在一定程度上牺牲了训练的精度,但是可以减少内存的占用以及缩短模型的训练时间,在嵌入式的终端进行模型部署的时候,还需要量化到INT8,

进入正题,FP32,FP16, INT8三种浮点数存储形式,到底什么区别

FP64: 双浮点精度类型
双浮点精度与F32之间没有明显的区别,每位权重是由64bit组成,
如果是FP64也是同理。则一个浮点数占有64bit,其中含有1bit的符号位、11 bit的指数位、52bit的尾数位,有FP32的进行实际的统计来看。

相对来说,FP64所表示的权重的范围最为广泛,也就是说,计算模型时最为准确,相对来说,医学以及军事领域会使用,其他很少。训练起来的时间过长。
在这里插入图片描述
深度学习模型权重数值精度FP32,FP16,INT8数值类型区别_第1张图片
FP16:

你可能感兴趣的:(python,神经网络,linux)