背景
PyTorch 1.6版本今天发布了,带来的最大更新就是自动混合精度。release说明的标题是:
- Stable release of automatic mixed precision (AMP).
- New Beta features include a TensorPipe backend for RPC, memory profiler,
- and several improvements to distributed training for both RPC and DDP.
可见自动混合精度正是PyTorch 1.6的最大更新。这就带来了几个问题:
- 什么是自动混合精度训练?
- 为什么需要自动混合精度?
- 如何在PyTorch中使用自动混合精度?
什么是自动混合精度训练?
我们知道神经网络框架的计算核心是Tensor,也就是那个从scaler -> array -> matrix -> tensor 维度一路丰富过来的tensor。在PyTorch中,我们可以这样创建一个Tensor: