mindspore.ops.sum
- mindspore.ops.sum(input, dim=None, keepdim=False, *, dtype=None)[源代码]
计算Tensor指定维度元素的和。
说明
Tensor类型的 dim 仅用作兼容旧版本,不推荐使用。
- 参数:
input (Tensor) - 输入Tensor。
dim (Union[None, int, tuple(int), list(int), Tensor]) - 求和的维度。如果 dim 为
None
,对Tensor中的所有元素求和。 如果 dim 为int组成的tuple或list,将对tuple中的所有维度求和,取值范围必须在 \([-input.ndim, input.ndim)\) 。默认值:None
。keepdim (bool) - 是否保留输出Tensor的维度,如果为
True
,保持对应的维度且长度为1。如果为False
,不保持维度。默认值:False
。
- 关键字参数:
dtype (
mindspore.dtype
, 可选) - 期望输出Tensor的类型。默认值:None
。
- 返回:
Tensor, input 指定维度的和。
- 异常:
TypeError - input 不是Tensor类型。
TypeError - dim 类型不是int,tulpe(int),list(int),Tensor或None。
ValueError - dim 取值不在 \([-input.ndim, input.ndim)\) 范围。
TypeError - keepdim 不是Tensor类型。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor, ops >>> from mindspore import dtype as mstype >>> x = Tensor(np.array([[[1, 1, 1, 1, 1, 1], [2, 2, 2, 2, 2, 2], [3, 3, 3, 3, 3, 3]], ... [[4, 4, 4, 4, 4, 4], [5, 5, 5, 5, 5, 5], [6, 6, 6, 6, 6, 6]], ... [[7, 7, 7, 7, 7, 7], [8, 8, 8, 8, 8, 8], [9, 9, 9, 9, 9, 9]]]), mstype.float32) >>> out = ops.sum(x) >>> print(out) 270.0 >>> out = ops.sum(x, dim=2) >>> print(out) [[ 6. 12. 18.] [24. 30. 36.] [42. 48. 54.]] >>> out = ops.sum(x, dim=2, keepdim=True) >>> print(out) [[[ 6.] [12.] [18.]] [[24.] [30.] [36.]] [[42.] [48.] [54.]]]