mindspore.ops.addr

View Source On Gitee
mindspore.ops.addr(x, vec1, vec2, *, beta=1, alpha=1)[source]

Compute the outer product of two vector vec1 and vec2, and add the resulting matrix to x.

Note

  • Given vec1 and vec2 of sizes N and M, x must be able to broadcast to a matrix of shape (N,M), and out will be a matrix of shape (N,M) .

  • Setting beta to 0 will exclude x from the computation.

output=βx+α(vec1vec2)
Parameters
  • x (Tensor) – Vector to be added.

  • vec1 (Tensor) – The first tensor to be multiplied.

  • vec2 (Tensor) – The second tensor to be multiplied.

Keyword Arguments
  • beta (scalar[int, float, bool], optional) – Scale factor for x Default 1 .

  • alpha (scalar[int, float, bool], optional) – Scale factor for ( vec1vec2 ). Default 1 .

Returns

Tensor

Supported Platforms:

Ascend GPU CPU

Examples

>>> import mindspore
>>> x = mindspore.tensor([[2., 2.], [3., 2.], [3., 4.]])
>>> vec1 = mindspore.tensor([2., 3., 2.])
>>> vec2 = mindspore.tensor([3, 4])
>>> output = mindspore.ops.addr(x, vec1, vec2)
>>> print(output)
[[ 8. 10.]
 [12. 14.]
 [ 9. 12.]]