引言
PyTorch 是一个开源的 Python 机器学习库,提供了两个高级功能:
- 具有强大的 GPU 加速的张量计算
- 包含自动求导系统的的深度神经网络(Autograd)
Autograd 包是 PyTorch 所有神经网络的核心,为张量上的所有操作提供自动求导机制。它是一个运行时定义的框架,即反向传播是随着对张量的操作来逐步决定的,这也意味着在每个迭代中都是可以不同的。
现在由于很多封装好的 API 的存在,导致我们在搭建自己的网络的时候并不需要过多地去关注求导这个问题,但如果能够对这个自动求导机制有所了解的话,对于我们写出更优雅更高效的代码无疑是帮助极大的。本文会简单介绍 PyTorch 的 Autograd 机制。