目录:pytorch / chapter_preliminaries / index.ipynb
下载到本地的目录:D:\研一下\DL\d2l-zh\pytorch
写在前面:笔记是我在听课过程中不了解的或者我认为比较重要的地方,暂时不做整体性和系统性的框架和梳理。
线性代数
mean()只能对浮点数求平均,如果报错的话将数据类型转换为浮点数即可。同样的mv,mm也只能对浮点数进行运算。
A.mean(dtype=torch.float32)
降维求和:对哪个轴求和相当于这个轴在输出形状中消失
A_sum_axis0 = A.sum(axis=0)
非降维求和
sum_A = A.sum(axis=1, keepdims=True)
矩阵计算
导数 - 偏导数 - 梯度
需要明白标量、向量、矩阵求导后的形状变化,x在分母上
自动求导
有两种模式:正向累积和反向传递,其中反向传递更加常用。
x.requires_grad_(True) # 等价于x=torch.arange(4.0,requires_grad=True)
x.grad # 默认值是None
y.backward() #调用反向传播函数来自动计算y关于x每个分量的梯度
x.grad
在默认情况下,PyTorch会累积梯度,下一次计算之前需要需要清除之前的值。
x.grad.zero_()
在本节中还讲到了分离计算和 Python控制流的梯度计算,目前还不太理解。