torch.mul(a, b)
torch.mul(a, b) 是矩阵 a和 b 对应位相乘,a 和 b 的维度必须相等,比如a 的维度是 (1,2),b 的维度是(1,2),返回的仍是(1,2)的矩阵,和 a ∗ b 效果相同。其实这个矩阵或者向量的乘法操作就是 Hadamard 乘积哈达玛乘积,具体操作细节查看如下。这个操作跟乘以b一样。
>>> a =torch.tensor([1,2,3,4])
>>> b = torch.tensor([5,6,7,8])
>>> c = torch.mul(a,b)
>>> c
tensor([ 5, 12, 21, 32])
>>> c1 = torch.mul(b,a)
>>> c1
tensor([ 5, 12, 21, 32])
>>>
# a*b 和b*a一样
矩阵的尺寸 不变,
torch.mm(a, b) 只能用于二维,更高级的是torch.matmul()可以用于三维
torch.mm(a, b) 是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵。这个操作很熟悉了,这就是很常用的矩阵运算。
mm函数和matmul函数一样,详细操作可以看我的博客
(8条消息) pytorch 的matmult()函数详解_Vertira的博客-优快云博客