[ 组合替代实现 ]torch.Tensor.addbmm_

torch.Tensor.addbmm_

torch.Tensor.addbmm_(batch1, batch2, *, beta=1, alpha=1)

用于实现矩阵 batch1 与矩阵 batch2 相乘,将结果按 axis=0 求和之后与alpha相乘,再加上输入 inputbeta,公式为:

$$ out = \beta , input + \alpha \left( \sum_{i=0}^{b-1} batch1_i , @ , batch2_i \right) $$

Paddle 无此 API,需要组合实现。

转写示例

# PyTorch 写法
input.addbmm_(batch1, batch2, beta=beta, alpha=alpha)

# Paddle 写法
input.multiply_(paddle.to_tensor(beta, dtype=input.dtype)).add_(alpha * paddle.sum(paddle.bmm(batch1, batch2), axis=0))