PyTorch 术语


在本章中,我们将讨论 PyTorch 中一些最常用的术语。

PyTorch NumPy


PyTorch 张量与 NumPy 数组相同。张量是一个 n 维数组,相对于 PyTorch,它提供了许多函数来对这些张量进行操作。

PyTorch 张量通常利用 GPU 来加速其数值计算。这些在 PyTorch 中创建的张量可用于将两层网络拟合到随机数据。用户可以通过网络手动实现前向和后向传递。

变量和 Autograd


使用 autograd 时,网络的正向传递将定义一个 计算图 :图中的节点是Tensor,边是从输入Tensors产生输出Tensors的函数。

PyTorch 张量可以创建为变量对象,其中变量表示计算图中的一个节点。

动态图


静态图很好,因为用户可以预先优化图。如果程序员一遍又一遍地重用同一个图,那么当同一个图被一遍又一遍地重新运行时,这种潜在的代价高昂的前期优化可以得到维护。

它们之间的主要区别在于 Tensor Flow 的计算图是静态的,而 PyTorch 使用动态计算图。

优化包


PyTorch 中的 optim 包抽象了以多种方式实现的优化算法的思想,并提供了常用优化算法的说明。这可以在 import 语句中调用。

多处理


多处理支持相同的操作,因此所有张量都可以在多个处理器上工作。队列会将它们的数据移动到共享内存中,并且只会将句柄发送给另一个进程。