torch.mul(),torch.mm(),torch.dot(),torch.mv()

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]

猜你喜欢

转载自blog.csdn.net/qq_42018521/article/details/132007735