baddbmm
- paddle. baddbmm ( input, x, y, beta=1.0, alpha=1.0, out_dtype=None, name=None, *, out=None ) [源代码]
计算 x 和 y 的批量矩阵乘积,将结果乘以标量 alpha,再加上 input 与标量 beta 的乘积,得到输出。其中 input 与 x、y 乘积的维度必须是可广播的。
计算过程的公式为:
其中 \(\beta\) 和 \(\alpha\) 是缩放因子。
备注
别名支持: 参数名 batch1 可替代 x,参数名 batch2 可替代 y ,如 baddbmm(input=tensor_input, batch1=tensor_x, batch2=tensor_y, ...) 等价于 baddbmm(input=tensor_input, x=tensor_x, y=tensor_y, ...) 。
参数
input (Tensor) - 输入 Tensor input,必须是一个 2 维或 3 维张量,数据类型支持 bfloat16、float16、float32、float64。
x (Tensor) - 输入 Tensor x,必须是一个形状为 [b, n, p] 的 3 维张量,数据类型支持 bfloat16、float16、float32、float64。
别名:batch1y (Tensor) - 输入 Tensor y,必须是一个形状为 [b, p, m] 的 3 维张量,数据类型支持 bfloat16、float16、float32、float64。
别名:batch2beta (float,可选) - 乘以 input 的标量,数据类型支持 float,默认值为 1.0。
alpha (float,可选) - 乘以 x*y 的标量,数据类型支持 float,默认值为 1.0。
out_dtype (paddle.dtype, 可选) - 输出数据类型,默认值为 None,表示输出数据类型与输入 input 数据类型一致。支持设置为以下数据类型:float16、bfloat16、float32、float64。
name (str,可选) - 具体用法请参见 api_guide_Name,一般无需设置,默认值为 None。
关键字参数
out (Tensor,可选) - 输出 Tensor,若不为
None,计算结果将保存在该 Tensor 中,默认值为None。
返回
计算得到的 Tensor。Tensor 数据类型与输入 input 数据类型一致。
代码示例
>>> import paddle
>>> x = paddle.ones([2, 2, 2])
>>> y = paddle.ones([2, 2, 2])
>>> input = paddle.ones([2, 2, 2])
>>> out = paddle.baddbmm(input=input, x=x, y=y, beta=0.5, alpha=5.0)
>>> out
Tensor(shape=[2, 2, 2], dtype=float32, place=Place(cpu), stop_gradient=True,
[[[10.50000000, 10.50000000],
[10.50000000, 10.50000000]],
[[10.50000000, 10.50000000],
[10.50000000, 10.50000000]]])