PyTorch - 术语


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

PyTorch NumPy

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

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

变量和 Autograd

使用 autograd 时,网络的前向传递将定义一个计算图- 图中的节点将是张量,边将是从输入张量生成输出张量的函数。

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

动态图

静态图很好,因为用户可以预先优化图。如果程序员一遍又一遍地重复使用相同的图,那么当一遍又一遍地重新运行相同的图时,可以维护这种可能成本高昂的前期优化。

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

优化包

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

多重处理

多处理支持相同的操作,以便所有张量在多个处理器上工作。队列会将其数据移至共享内存中,并且仅将句柄发送到另一个进程。