- torch.dot():
torch.dot() 是 PyTorch 中用于计算两个张量的点积(内积)的函数。
它要求两个张量必须是一维的,并且长度必须相等。
结果是两个张量对应位置元素的乘积之和。
例如,如果有两个一维张量 a = torch.tensor([1, 2, 3]) 和 b = torch.tensor([4, 5, 6]),则它们的点积为 14 + 25 + 3*6 = 32。
- 哈达马积(Element-wise Product):
哈达马积是指两个具有相同形状的张量的对应位置元素相乘。
在 PyTorch 中,可以直接使用 * 运算符进行哈达马积操作。
例如,如果有两个张量 A = torch.tensor([[1, 2], [3, 4]]) 和 B = torch.tensor([[5, 6], [7, 8]]),它们的哈达马积为 A * B = [[15, 26], [37, 48]] = [[5, 12], [21, 32]]。
向量外积(Outer Product):
- 向量外积是指将两个向量的每个元素相乘得到的新的矩阵。
在 PyTorch 中,可以使用 torch.ger() 函数计算两个向量的外积。
例如,如果有两个向量 a = torch.tensor([1, 2, 3]) 和 b = torch.tensor([4, 5, 6]),它们的外积为一个 3x3 的矩阵,即 [[14, 15, 16], [24, 25, 26], [34, 35, 3*6]]。
矩阵乘法:
- 矩阵乘法是指两个矩阵的对应元素进行乘法,并将结果相加得到的新矩阵。
在 PyTorch 中,可以使用 torch.matmul() 函数进行矩阵乘法。
例如,如果有两个矩阵 A = torch.tensor([[1, 2], [3, 4]]) 和 B = torch.tensor([[5, 6], [7, 8]]),它们的矩阵乘法为 torch.matmul(A, B),结果为 [[15 + 27, 16 + 28], [35 + 47, 36 + 48]] = [[19, 22], [43, 50]]。
总的来说,这些操作之间的区别在于它们的输入类型、运算规则以及输出结果的形状。