



在本节中,我们使用PyTorch代码来说明之前讨论的概念。
注: 本节的完整代码可以在http://mng.bz/ryzE获取,并且通过Jupyter Notebook来执行。
代码清单2.5显示了矩阵转置的PyTorch代码。
代码清单2.5 转置
两个向量 a 和 b 的点积表示其中一个向量在另一个向量方向上的投影分量。考虑两个向量 a =[ a 1 a 2 a 3 ]和 b =[ b 1 b 2 b 3 ],那么它们的点积为 a · b = a 1 b 1 + a 2 b 2 + a 3 b 3 。代码清单2.6展示了用于点积运算的PyTorch代码。
代码清单2.6 点积
考虑一个具有 m 行和 n 列的矩阵 A m , n ,将它与一个包含 n 个元素的向量 b n 相乘,可以得到一个包含 m 个元素的列向量 c m 。在以下示例中, m =3, n =2,
一般来说,
c i =a i 1 b 1 +a i 2 b 2 + … +a in b n
代码清单2.7展示了用于矩阵-向量乘法的PyTorch代码。
代码清单2.7 矩阵-向量乘法
考虑一个具有 m 行和 p 列的矩阵 A m , p ,将其与另一个具有 p 行和 n 列的矩阵 B p , n 相乘。可以得到一个具有 m 行和 n 列的矩阵 C m , n 。注意,左侧矩阵 A 的列数应与右侧矩阵 B 的行数相匹配:
一般来说,
代码清单2.8展示了用于矩阵-矩阵乘法的PyTorch代码。
代码清单2.8 矩阵-矩阵乘法
给定两个矩阵 A 和 B ,其中 A 的列数与 B 的行数相匹配,它们乘积的转置等于颠倒顺序后的各自转置的乘积:( AB ) T = B T A T 。代码清单2.9展示了用于矩阵乘积转置的PyTorch代码。
代码清单2.9 矩阵乘积的转置