Dive into DeepLearning - 02 - Preliminaries
Course Note: d2l-video-05 - 线性代数 Jupyter Notebook: chapter_preliminaries/linear-algebra.ipynb 预备知识中 Liner Algebra 的部分 线性代数 Scalars 标量: 指只有一个元素的张量 tensors import torch x = torch.tensor(3.0) # scalar y = torch.tensor(2.0) Vectors 向量: 可以视作标量构成的列表 x = torch.arange(4) x[3] # 通过张量索引访问任一元素 len(x) # 访问张量长度 x.shape # torch.Size([4]) 只有一个轴的张量, 形状只有一个元素 Matrices 矩阵: 类似向量的推广, 可以构建更多轴的数据结构 # 构建矩阵 A = torch.arange(20).reshape(5, 4) A.T # 转置 # 对称矩阵 B = torch.tensor([[1, 2, 3], [2, 0, 4], [3, 4, 5]]) B = B.T 形状相同张量的计算 A = torch.arange(20, dtype=torch.float32).reshape(5, 4) B = A.clone() A, A + B A * B # 对应元素相乘: Hadamard 积 计算元素的和 x = torch.arange(4, detype=torch.float64) x.sum() # 任意形状张量的和 计算平均值 A.mean() # 均值 A.sum() / A.numel() # 另一种计算均值的方法: 和 / 数量 点乘是相同位置元素乘积的和 ...