torch_baddbmm function

Baddbmm

Baddbmm

torch_baddbmm(self, batch1, batch2, beta = 1L, alpha = 1L)

Arguments

  • self: (Tensor) the tensor to be added
  • batch1: (Tensor) the first batch of matrices to be multiplied
  • batch2: (Tensor) the second batch of matrices to be multiplied
  • beta: (Number, optional) multiplier for input (β\beta)
  • alpha: (Number, optional) multiplier for \mboxbatch1@\mboxbatch2\mbox{batch1} \mathbin{@} \mbox{batch2} (α\alpha)

baddbmm(input, batch1, batch2, *, beta=1, alpha=1, out=NULL) -> Tensor

Performs a batch matrix-matrix product of matrices in batch1

and batch2. input is added to the final result.

batch1 and batch2 must be 3-D tensors each containing the same number of matrices.

If batch1 is a (b×n×m)(b \times n \times m) tensor, batch2 is a (b×m×p)(b \times m \times p) tensor, then input must be broadcastable with a (b×n×p)(b \times n \times p) tensor and out will be a (b×n×p)(b \times n \times p) tensor. Both alpha and beta mean the same as the scaling factors used in torch_addbmm.

\mboxouti=β \mboxinputi+α (\mboxbatch1i@\mboxbatch2i) \mbox{out}_i = \beta\ \mbox{input}_i + \alpha\ (\mbox{batch1}_i \mathbin{@} \mbox{batch2}_i)

For inputs of type FloatTensor or DoubleTensor, arguments beta and alpha must be real numbers, otherwise they should be integers.

Examples

if (torch_is_installed()) { M = torch_randn(c(10, 3, 5)) batch1 = torch_randn(c(10, 3, 4)) batch2 = torch_randn(c(10, 4, 5)) torch_baddbmm(M, batch1, batch2) }
  • Maintainer: Daniel Falbel
  • License: MIT + file LICENSE
  • Last published: 2025-02-14