2.2.4 ⼩结 • 像庞⼤的 Python ⽣态系统中的许多其他扩展包⼀样,pandas 可以与张量兼容。 • 插值和删除可⽤于处理缺失的数据。
2.3.12 ⼩结
• 标量、向量、矩阵和张量是线性代数中的基本数学对象。
• 向量泛化⾃标量,矩阵泛化⾃向量。
• 标量、向量、矩阵和张量分别具有零、⼀、⼆和任意数量的轴。
• ⼀个张量可以通过sum 和 mean沿指定的轴降低维度。
• 两个矩阵的按元素乘法被称为他们的哈达玛积。它与矩阵乘法不同。
• 在深度学习中,我们经常使⽤范数,如 L1范数、L2范数和弗罗⻉尼乌斯范数。
• 我们可以对标量、向量、矩阵和张量执⾏各种操作。
z = torch.arange(4) # 我们通过⼀维张量处理向量。⼀般来说,张量可以具有任意⻓度,取决于机器的内存限制。
# 求和函数 降低张量维度-变成一个标量 Y = torch.arange(4, dtype=torch.float32) print(Y.sum()) A_sum_axis0 = A.sum(axis=0) A_sum_axis1 = A.sum(axis=1) # axis=1 横轴合并,axis=0 纵轴合并 A.sum(axis=[0, 1]) # 等同于A.sum() 对所有元素求和 Z = A.type(torch.float64) print(Z.mean(axis=0)) # 计算平均值并降低张量的维度 # 非降维求和 sum_A = A.sum(axis=1, keepdims=True) print(A.cumsum(axis=0)) # 点积 y = torch.ones(4, dtype=torch.float32) z=z.float() print(torch.dot(z, y)) # L2范数 u=torch.tensor([3.0,-4.0]) print(torch.norm(u)) # L1范数 print(torch.abs(u).sum()) # 弗罗⻉尼乌斯范数 print(torch.norm(torch.ones((4,9)))) #torch.ones((4, 9)) 创建了一个形状为 (4, 9) 的张量,即一个4行9列的二维张量,其中所有的元素都是1。
练习:
1)运⾏ A / A.sum(axis=1),看看会发⽣什么。你能分析原因吗?
发生错误,因为形状不符合广播机制。广播机制是从形状尾部开始进行匹配,因此如果是A/A.sum(axis=1, keepdim=True),此时两者形状为(5, 4)和(5, 1),可以进行广播。
2.3
在PyCharm中,你可以使用Matplotlib库来绘制图形,但是不能直接使用%matplotlib inline
这样的Magic命令。相反,你需要使用Matplotlib的图形显示函数来显示图形,例如plt.show()
。