PyTorch – 术语
在本章中,我们将讨论PyTorch中一些最常用的术语。
PyTorch NumPy
PyTorch的张量与NumPy的数组相同。张量是一个n维数组,就PyTorch而言,它提供了许多函数来操作这些张量。
PyTorch的张量通常利用GPU来加速其数值计算。在PyTorch中创建的这些张量可以用来对随机数据进行两层网络拟合。用户可以手动实现网络的前向和后向传递。
变量和Autograd
当使用autograd时,网络的前向传递将定义一个 计算图 --图中的节点将是张量,而边将是由输入张量产生输出张量的函数。
PyTorch的张量可以被创建为变量对象,其中一个变量代表计算图中的一个节点。
动态图
静态图很好,因为用户可以预先优化图。如果程序员反复使用同一个图,那么这种潜在的昂贵的前期优化可以在同一个图被反复运行时保持。
它们之间的主要区别是,Tensor Flow的计算图是静态的,而PyTorch使用动态计算图。
optim包
PyTorch中的optim包对优化算法的概念进行了抽象,该算法有多种实现方式,并提供了常用优化算法的说明。这可以在导入语句中调用。
多重处理
多处理支持相同的操作,因此所有的张量都能在多个处理器上工作。队列会将它们的数据移到共享内存中,并且只向另一个进程发送一个句柄。