mars.tensor.sum#
- mars.tensor.sum(a, axis=None, dtype=None, out=None, keepdims=None, combine_size=None)[来源]#
在给定轴上的张量元素之和。
- Parameters
a (array_like) – 要求和的元素。
axis (None 或 int 或 tuple 的 ints, 可选) –
在其上执行求和的轴或轴。默认情况下,axis=None,将对输入张量的所有元素进行求和。如果axis为负数,则从最后一个轴开始计数。
如果axis是一个整数的元组,将对元组中指定的所有轴执行求和,而不是单个轴或之前的所有轴。
dtype (dtype, 可选) – 返回的张量的类型以及累加器中元素求和的类型。默认情况下使用a的dtype,除非a的整数dtype的精度低于默认平台整数。在这种情况下,如果a是有符号的,则使用平台整数;而如果a是无符号的,则使用与平台整数相同精度的无符号整数。
out (Tensor, 可选) – 备用输出张量,用于放置结果。它必须具有与预期输出相同的形状,但输出值的类型在必要时将被转换。
keepdims (bool, 可选) –
如果设置为True,减少的轴会在结果中保留为大小为一的维度。使用此选项,结果将正确地与输入张量进行广播。
如果传递的是默认值,则keepdims不会传递给Tensor的子类的sum方法,然而任何非默认值将会传递。如果子类的sum方法未实现keepdims,将会引发任何异常。
combine_size (int, 可选) – 拼接的块数。
- Returns
sum_along_axis – 一个与 a 形状相同的数组,指定的轴被移除。如果 a 是一个 0-d 张量,或者 axis 为 None,则返回一个标量。如果指定了输出数组,将返回对 out 的引用。
- Return type
张量
备注
使用整数类型时,算术运算是模运算,溢出时不会引发错误。
一个空数组的和是中性元素0:
>>> import mars.tensor as mt
>>> mt.sum([]).execute() 0.0
示例
>>> mt.sum([0.5, 1.5]).execute() 2.0 >>> mt.sum([0.5, 0.7, 0.2, 1.5], dtype=mt.int32).execute() 1 >>> mt.sum([[0, 1], [0, 5]]).execute() 6 >>> mt.sum([[0, 1], [0, 5]], axis=0).execute() array([0, 6]) >>> mt.sum([[0, 1], [0, 5]], axis=1).execute() array([1, 5])
如果累加器太小,溢出会发生:
>>> mt.ones(128, dtype=mt.int8).sum(dtype=mt.int8).execute() -128