torch.addr#
- torch.addr(input, vec1, vec2, *, beta=1, alpha=1, out=None) Tensor #
Performs the outer-product of vectors
vec1
andvec2
and adds it to the matrixinput
.Optional values
beta
andalpha
are scaling factors on the outer product betweenvec1
andvec2
and the added matrixinput
respectively.out=β input+α (vec1⊗vec2)If
beta
is 0, then the content ofinput
will be ignored, and nan and inf in it will not be propagated.If
vec1
is a vector of size n andvec2
is a vector of size m, theninput
must be broadcastable with a matrix of size (n×m) andout
will be a matrix of size (n×m).- Parameters
- Keyword Arguments
beta (Number, optional) – multiplier for
input
(β)alpha (Number, optional) – multiplier for vec1⊗vec2 (α)
out (Tensor, optional) – the output tensor.
Example:
>>> 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.]])