bmm

paddle. bmm ( x, y, name=None ) [源代码]

对输入 x 及输入 y 进行矩阵相乘。

两个输入的维度必须等于 3,并且矩阵 x 和矩阵 y 的第一维必须相等。同时矩阵 x 的第二维必须等于矩阵 y 的第三维。

例如:若 x 和 y 分别为 (b, m, k) 和 (b, k, n) 的矩阵,则函数的输出为一个 (b, m, n) 的矩阵。

参数

  • x (Tensor) - 输入变量,类型为 Tensor。

  • y (Tensor) - 输入变量,类型为 Tensor。

  • name (str,可选) - 具体用法请参见 Name,一般无需设置,默认值为 None。

返回

Tensor,矩阵相乘后的结果。

代码示例

import paddle

# In imperative mode:
# size x: (2, 2, 3) and y: (2, 3, 2)
x = paddle.to_tensor([[[1.0, 1.0, 1.0],
                    [2.0, 2.0, 2.0]],
                    [[3.0, 3.0, 3.0],
                    [4.0, 4.0, 4.0]]])
y = paddle.to_tensor([[[1.0, 1.0],[2.0, 2.0],[3.0, 3.0]],
                    [[4.0, 4.0],[5.0, 5.0],[6.0, 6.0]]])
out = paddle.bmm(x, y)
# Tensor(shape=[2, 2, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
#        [[[6. , 6. ],
#          [12., 12.]],

#         [[45., 45.],
#          [60., 60.]]])