chapter8.md

应当重点理解的概念有:

张量(tensor)。在PyTorch中,张量(又称多维数组)是最基本的运算单元。可以进行加减乘除、乘法开方等科学运算。

自动梯度数值计算和优化求解。张量的可以运算可以反向传播,得到运算的梯度。例如对于张量 a = (1, 2, 3) 和张量 b = (4, 5, 6),它们的点积为 a.b = 1x4 + 2x5 + 3x6 = 4 + 10 + 18 = 32。PyTorch可以得到这个张量点积对a的梯度值,这个梯度值为 (4, 5, 6)。计算梯度值的逻辑已经由PyTorch提供,我们不需要显示指定梯度计算的逻辑。基于自动梯度数值计算,PyTorch提供了优化问题的数值求解器。

神经网络(netural network)和损失(loss)。神经网络是一些线性运算和非线性运算的组合。对于具有固定结构的神经网络,其权重系数不同,实现的功能也不同。为了让神经网络能够满足应用需求,我们引入了损失,把神经网络的权重设计转化为了一个最小化损失的优化问题。通过数值方法求解这个优化问题,有机会得到合适的神经网络权重。

最常用、最基础的模块包括: torch:这个模块主要进行张量的构造和科学计算。 torch.optim:这个模块包括求解优化问题需要的各种优化器。 torch.nn:这个模块包括各种神经网络的线性运算层和激活函数层,以及神经网络的损失。

其他进阶

实战就完事了,跑几个项目就会了~