torch.mm#
- torch.mm(input, mat2, *, out=None) Tensor#
Performs a matrix multiplication of the matrices
inputandmat2.If
inputis a tensor,mat2is a tensor,outwill be a tensor.Note
This function does not broadcast. For broadcasting matrix products, see
torch.matmul().Supports strided and sparse 2-D tensors as inputs, autograd with respect to strided inputs.
This operation has support for arguments with sparse layouts. If
outis provided its layout will be used. Otherwise, the result layout will be deduced from that ofinput.Warning
Sparse support is a beta feature and some layout(s)/dtype/device combinations may not be supported, or may not have autograd support. If you notice missing functionality please open a feature request.
This operator supports TensorFloat32.
On certain ROCm devices, when using float16 inputs this module will use different precision for backward.
- Parameters:
- Keyword Arguments:
out (Tensor, optional) – the output tensor.
Example:
>>> mat1 = torch.randn(2, 3) >>> mat2 = torch.randn(3, 3) >>> torch.mm(mat1, mat2) tensor([[ 0.4851, 0.5037, -0.3633], [-0.0760, -3.6705, 2.4784]])
- torch.mm(input, mat2, out_dtype, *, out=None) Tensor
- Parameters:
input (Tensor) – the first matrix to be matrix multiplied
mat2 (Tensor) – the second matrix to be matrix multiplied
out_dtype (dtype) – the dtype of the output tensor. On CUDA and XPU, only
torch.float32is supported giventorch.float16/torch.bfloat16input dtypes. Other backends (including out-of-tree accelerators) may support additional input/output dtype combinations.
- Keyword Arguments:
out (Tensor, optional) – the output tensor.