torch.mm — PyTorch 2.7 documentation (original) (raw)
torch.mm(input, mat2, *, out=None) → Tensor¶
Performs a matrix multiplication of the matrices input
and mat2
.
If input
is a (n×m)(n \times m) tensor, mat2
is a(m×p)(m \times p) tensor, out
will be a (n×p)(n \times p) tensor.
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 out
is provided its layout will be used. Otherwise, the result layout will be deduced from that of input
.
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
- input (Tensor) – the first matrix to be matrix multiplied
- mat2 (Tensor) – the second matrix to be matrix multiplied
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]])