torch.mul(a,b):矩阵的点乘,即对应的位相乘,要求shape一样, 返回的还是个矩阵
a = torch.tensor([[1,2,3],
[4,5,6]])
b = torch.tensor([[1,2,3],
[4,5,6]])
print(torch.mul(a,b))
>>>tensor([[ 1, 4, 9],
[16, 25, 36]])
torch.mm(a,b):矩阵正常的矩阵相乘,(a, b)* ( b, c ) = ( a, c )
a = torch.tensor([[1,2,3],
[4,5,6]])
b = torch.tensor([[1,2,3],
[4,5,6]])
b = b.transpose(0,1)
print(torch.mm(a,b))
>>> tensor([[14, 32],
[32, 77]])
torch.dot(a,b):向量(即只能是一维的张量)的对应位相乘再求和,返回一个tensor数值()。a,b必须都是一维。
a = np.array([1,2,3])
b = np.array([1,2,3])
print(np.dot(a,b))
exit()
>>>14
torch.mv():矩阵和向量相乘,类似于torch.mm()
a = torch.tensor([[1,2,3],[4,5,6]])
b = np.array([1,2,3])
print(np.dot(a,b))
exit()
>>>[14 32]