第1部分
在:
A = torch.tensor([1,2])
B = torch.tensor([[1,2],[2,4]])
print(A+B)
出去:
tensor([[2, 4],
[3, 6]])
问题:
为什么 Torch 不发誓,即使矩阵大小不同?
第2部分
在:
A = torch.tensor([[2,2],[1,2],[2,4]])
B = torch.tensor([[-7,5],[2,-1]])
print(A*B)
出去:
运行时错误
问题:
为什么我不能将矩阵 A(3x2) 和 B(2x2) 相乘?
因为操作
+并*执行逐个元素的动作。在第一种情况下,您将长度为 2 的一维向量添加到大小为 (2, 2) 的二维向量的每个长度为 2 的向量中。在第二种情况下,两个操作数都是二维的,但它们的大小不同,因此不可能以任何方式将它们逐个元素相乘。要根据逐列规则执行矩阵乘法,请执行以下操作之一:
https://stackoverflow.com/a/44527447/7485582