addmm_cn.rst 1.6 KB
Newer Older
1 2 3
.. _cn_api_tensor_addmm:


T
tianshuo78520a 已提交
4 5
addmm
-------------------------------
6

Y
yaoxuefeng 已提交
7
.. py:function:: paddle.addmm(input, x, y, beta=1.0, alpha=1.0, name=None)
S
swtkiwi 已提交
8 9 10



11 12 13 14 15 16 17
计算x和y的乘积,将结果乘以标量alpha,再加上input与beta的乘积,得到输出。其中input与x、y乘积的维度必须是可广播的。

计算过程的公式为:

..  math::
    out = alpha * x * y + beta * input

Y
yaoxuefeng 已提交
18 19 20 21 22
参数
:::::::::
    - **input** (Tensor):输入Tensor input,数据类型支持float32, float64。
    - **x** (Tensor):输入Tensor x,数据类型支持float32, float64。
    - **y** (Tensor):输入Tensor y,数据类型支持float32, float64。
23
    - **beta** (float,可选):乘以input的标量,数据类型支持float32, float64,默认值为1.0。
Y
yaoxuefeng 已提交
24
    - **alpha** (float,可选):乘以x*y的标量,数据类型支持float32, float64,默认值为1.0。
25
    - **name** (str,可选):具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。
26

Y
yaoxuefeng 已提交
27 28 29
返回
:::::::::
``Tensor``, 计算得到的Tensor。Tensor数据类型与输入input数据类型一致。
30 31 32



Y
yaoxuefeng 已提交
33 34
代码示例
:::::::::
35 36 37 38 39

.. code-block:: python

    import numpy as np
    import paddle
Y
yaoxuefeng 已提交
40

41 42 43
    data_x = np.ones((2, 2)).astype(np.float32)
    data_y = np.ones((2, 2)).astype(np.float32)
    data_input = np.ones((2, 2)).astype(np.float32)
Y
yaoxuefeng 已提交
44 45 46 47 48 49 50

    paddle.disable_static()

    x = paddle.to_variable(data_x)
    y = paddle.to_variable(data_y)
    input = paddle.to_variable(data_input)

Y
yaoxuefeng 已提交
51
    out = paddle.tensor.addmm( input=input, x=x, y=y, beta=0.5, alpha=5.0 )
Y
yaoxuefeng 已提交
52

Y
yaoxuefeng 已提交
53
    print( out.numpy() )
54 55
    # [[10.5 10.5]
    # [10.5 10.5]]