sums_cn.rst 1.9 KB
Newer Older
H
Hao Wang 已提交
1 2 3 4 5 6 7
.. _cn_api_fluid_layers_sums:

sums
-------------------------------

.. py:function:: paddle.fluid.layers.sums(input,out=None)

8
该OP计算多个输入Tensor逐个元素相加的和。
H
Hao Wang 已提交
9

10
- 示例:3个Tensor求和
H
Hao Wang 已提交
11 12 13

.. code-block:: python

14 15 16 17 18 19 20 21 22 23
  输入:
      x0.shape = [2, 3]
      x0.data = [[1., 2., 3.],
                 [4., 5., 6.]]
      x1.shape = [2, 3]
      x1.data = [[10., 20., 30.],
                 [40., 50., 60.]]
      x2.shape = [2, 3]
      x2.data = [[100., 200., 300.],
                 [400., 500., 600.]]
H
Hao Wang 已提交
24

25 26 27 28
  输出:
      out.shape = [2, 3]
      out.data = [[111., 222., 333.],
                  [444., 555., 666.]]
H
Hao Wang 已提交
29 30


31 32 33
参数:
    - **input** (list) - 多个维度相同的Tensor组成的元组。支持的数据类型:float32,float64,int32,int64。
    - **out** (Variable,可选) - 指定求和的结果Tensor,可以是程序中已经创建的任何Variable。默认值为None,此时将创建新的Variable来保存输出结果。
H
Hao Wang 已提交
34

35
返回:输入的和,数据类型和维度与输入Tensor相同。若 ``out`` 为 ``None`` ,返回值是一个新的Variable;否则,返回值就是 ``out`` 。
H
Hao Wang 已提交
36

37
返回类型:Variable
H
Hao Wang 已提交
38

39
**代码示例**:
H
Hao Wang 已提交
40

41 42 43
.. code-block:: python

    import paddle.fluid as fluid
H
Hao Wang 已提交
44

45 46 47 48
    x0 = fluid.layers.fill_constant(shape=[16, 32], dtype='int64', value=1)
    x1 = fluid.layers.fill_constant(shape=[16, 32], dtype='int64', value=2)
    x2 = fluid.layers.fill_constant(shape=[16, 32], dtype='int64', value=3)
    x3 = fluid.layers.fill_constant(shape=[16, 32], dtype='int64', value=0)
H
Hao Wang 已提交
49

50 51
    # 多个Tensor求和,结果保存在一个新建的Variable sum0,即sum0=x0+x1+x2,值为[[6, ..., 6], ..., [6, ..., 6]]
    sum0 = fluid.layers.sums(input=[x0, x1, x2])
H
Hao Wang 已提交
52

53 54
    # 多个Tensor求和,sum1和x3是同一个Variable,相当于x3=x0+x1+x2,值为[[6, ..., 6], ..., [6, ..., 6]]
    sum1 = fluid.layers.sums(input=[x0, x1, x2], out=x3)