mindspore.ops.baddbmm
- mindspore.ops.baddbmm(input, batch1, batch2, beta=1, alpha=1)[source]
The result is the sum of the input and a batch matrix-matrix product of matrices in batch1 and batch2. The formula is defined as follows:
\[\text{out}_{i} = \beta \text{input}_{i} + \alpha (\text{batch1}_{i} \mathbin{@} \text{batch2}_{i})\]- Parameters
input (Tensor) – The input Tensor. When batch1 is a \((C, W, T)\) Tensor and batch2 is a \((C, T, H)\) Tensor, input must be broadcastable with \((C, W, H)\) Tensor.
batch1 (Tensor) – \(batch1\) in the above formula. Must be 3-D Tensor, dtype is same as input.
batch2 (Tensor) – \(batch2\) in the above formula. Must be 3-D Tensor, dtype is same as input.
beta (Union[float, int], optional) – multiplier for input. Default:
1
.alpha (Union[float, int], optional) – multiplier for \(batch1 @ batch2\). Default:
1
. Arguments beta and alpha must be integers when inputs of type not FloatTensor, otherwise they should be a real number.
- Returns
Tensor, has the same dtype as input, shape will be \((C, W, H)\).
- Raises
TypeError – The type of input, batch1, batch2 is not Tensor.
TypeError – The types of input, batch1, batch2 are different.
TypeError – For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha not be real numbers, otherwise not be integers.
TypeError – For Baddbmm, attributes alpha and beta are not real numbers
ValueError – If batch1 and batch2 are not 3-D tensors.
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> import numpy as np >>> from mindspore import Tensor, ops >>> input = Tensor(np.ones([1, 3, 3]).astype(np.float32)) >>> batch1 = Tensor(np.ones([1, 3, 4]).astype(np.float32)) >>> batch2 = Tensor(np.ones([1, 4, 3]).astype(np.float32)) >>> output = ops.baddbmm(input, batch1, batch2) >>> print(output) [[[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]]]