评价此页

torch.bmm#

torch.bmm(input, mat2, out_dtype=None, *, out=None) Tensor#

执行存储在 `input` 和 `mat2` 中的矩阵的批次矩阵-矩阵乘积。

`input` 和 `mat2` 必须是 3-D 张量,每个张量包含相同数量的矩阵。

如果 `input` 是 (b×n×m)(b \times n \times m) 张量,`mat2` 是一个 (b×m×p)(b \times m \times p) 张量,`out` 将是 (b×np)(b \times n \times p) 张量。

outi=inputi@mat2i\text{out}_i = \text{input}_i \mathbin{@} \text{mat2}_i

此操作符支持TensorFloat32

在某些 ROCm 设备上,当使用 float16 输入时,此模块将对反向传播使用不同精度

注意

此函数不执行 广播。有关广播矩阵乘积,请参阅 torch.matmul()

参数
  • input (Tensor) – 要相乘的第一个矩阵批次

  • mat2 (Tensor) – 要相乘的第二个矩阵批次

  • out_dtype (dtype, optional) – 输出张量的 dtype,仅在 CUDA 上支持,并且当输入 dtype 为 torch.float16/torch.bfloat16 时支持 torch.float32。

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> input = torch.randn(10, 3, 4)
>>> mat2 = torch.randn(10, 4, 5)
>>> res = torch.bmm(input, mat2)
>>> res.size()
torch.Size([10, 3, 5])