代码实战带你了解深度学习中的混合精度训练

时间:2022-03-20 01:02:00
摘要:本文为大家介绍一下深度学习中的混合精度训练,并通过代码实战的方式为大家讲解实际应用的理论,并对模型进行测试。

本文分享自华为云社区《浅谈深度学习中的混合精度训练》,作者:李长安。

1 混合精度训练

混合精度训练最初是在论文Mixed Precision Training中被踢出,该论文对混合精度训练进行了详细的阐述,并对其实现进行了讲解,有兴趣的同学可以看看这篇论文。

1.1半精度与单精度

半精度(也被称为FP16)对比高精度的FP32与FP64降低了神经网络的显存占用,使得我们可以训练部署更大的网络,并且FP16在数据转换时比FP32或者FP64更节省时间。

单精度(也被称为32-bit)是通用的浮点数格式(在C扩展语言中表示为float),64-bit被称为双精度(double)。

如图所示,我们能够很直观的看到半精度的存储空间是单精度存储空间的一半。

代码实战带你了解深度学习中的混合精度训练