torch.addr
- torch.addr(input, vec1, vec2, *, beta=1, alpha=1, out=None) → Tensor
-
计算向量
vec1和vec2的外积,并将结果添加到矩阵input中。可选值
beta和alpha分别是向量vec1和vec2之间外积与矩阵input的缩放因子。$\text{out} = \beta\ \text{input} + \alpha\ (\text{vec1} \otimes \text{vec2})$如果
beta为 0,那么input将被忽略,并且其中的 nan 和 inf 不会被传播。如果
vec1是大小为 n 的向量,而vec2是大小为 m 的向量,则input必须与大小为 $(n \times m)$ 的矩阵进行广播操作。此时,out将是一个大小为 $(n \times m)$ 的矩阵。- 参数
- 关键字参数
-
-
beta (数字, 可选) –
input的乘数 ($\beta$) -
alpha (Number, optional) – 用于 $\text{vec1} \otimes \text{vec2}$ 的乘数 ($\alpha$)
-
out (Tensor, 可选) – 指定输出张量。
-
示例:
>>> vec1 = torch.arange(1., 4.) >>> vec2 = torch.arange(1., 3.) >>> M = torch.zeros(3, 2) >>> torch.addr(M, vec1, vec2) tensor([[ 1., 2.], [ 2., 4.], [ 3., 6.]])