Addbmm
Source:R/gen-namespace-docs.R
, R/gen-namespace-examples.R
, R/gen-namespace.R
torch_addbmm.Rd
Addbmm
Arguments
- self
(Tensor) matrix 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
batch1 @ batch2
(\(\alpha\))
addbmm(input, batch1, batch2, *, beta=1, alpha=1, out=NULL) -> Tensor
Performs a batch matrix-matrix product of matrices stored
in batch1
and batch2
,
with a reduced add step (all matrix multiplications get accumulated
along the first dimension).
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 \times n \times m)\) tensor, batch2
is a
\((b \times m \times p)\) tensor, input
must be
broadcastable with a \((n \times p)\) tensor
and out
will be a \((n \times p)\) tensor.
$$
out = \beta\ \mbox{input} + \alpha\ (\sum_{i=0}^{b-1} \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(3, 5))
batch1 = torch_randn(c(10, 3, 4))
batch2 = torch_randn(c(10, 4, 5))
torch_addbmm(M, batch1, batch2)
}
#> torch_tensor
#> 3.3727 -5.2787 0.7149 0.8471 5.7292
#> -4.1041 1.4911 0.3756 1.3393 0.7743
#> 3.6581 6.1864 -5.2519 -7.9438 -5.1004
#> [ CPUFloatType{3,5} ]