torch.mul、matmul、mm、bmm的区别

torch.mul

torch.mul(input, value, out=None)

参数 描述
input (Tensor) 输入张量
value (Number) 乘到每个元素的数
out (Tensor) 可选,输出张量

torch.mul(input, other, out=None)

参数 描述
input (Tensor) 第一个相乘张量
other (Tensor) 第二个相乘张量
out (Tensor) 可选,输出张量

torch.matmul

torch.matmul(input, other, out=None)

功能:
适用性最多的,能处理batch、广播的矩阵:

1.如果第一个参数是一维,第二个是二维,那么给第一个提供一个维度
2.如果第一个是二维,第二个是一维,就是矩阵乘向量
3.带有batch的情况,可保留batch计算
4.维度不同时,可先广播,再batch计算

torch.mul、matmul、mm、bmm的区别_第1张图片

torch.mm

torch.mm(input, mat2, out=None)

处理二维矩阵的乘法,而且也只能处理二维矩阵,其他维度要用torch.matmul()。torch.mm(a, b)是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵

torch.bmm

torch.bmm(input, mat2, out=None)
在mm的基础上加入batch运算

你可能感兴趣的:(pytorch)