Pytorch 简明教程

PyTorch - Terminologies

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

PyTorch NumPy

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

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

Variables and Autograd

使用自动微分时,网络的前向传递将定义一个 computational graph - 图中的节点将是张量,边将是生成输入张量的输出张量的函数。

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

Dynamic Graphs

静态图很好,因为用户可以预先优化该图。如果程序员反复使用相同的图,那么这个潜在的代价高昂的预先优化可以得到维护,因为同一张被反复运行。

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

Optim Package

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

Multiprocessing

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