当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.math.reduce_sum用法及代码示例


计算张量维度上的元素总和。

用法

tf.math.reduce_sum(
    input_tensor, axis=None, keepdims=False, name=None
)

参数

  • input_tensor 要减少的张量。应该是数字类型。
  • axis 要减小的尺寸。如果None(默认),减少所有维度。必须在 [-rank(input_tensor), rank(input_tensor)] 范围内。
  • keepdims 如果为真,则保留长度为 1 的缩减维度。
  • name 操作的名称(可选)。

返回

  • 与 input_tensor 具有相同 dtype 的缩减张量。

这是按元素tf.math.add op 的归约操作。

沿 axis 中给定的尺寸减少 input_tensor 。除非 keepdims 为真,否则对于 axis 中的每个条目,张量的秩都会减少 1,这必须是唯一的。如果 keepdims 为真,则保留缩减后的维度,长度为 1。

如果axis 为None,则所有维度都会减少,并返回具有单个元素的张量。

例如:

# x has a shape of (2, 3) (two rows and three columns):
x = tf.constant([[1, 1, 1], [1, 1, 1]])
x.numpy()
array([[1, 1, 1],
       [1, 1, 1]], dtype=int32)
# sum all the elements
# 1 + 1 + 1 + 1 + 1+ 1 = 6
tf.reduce_sum(x).numpy()
6
# reduce along the first dimension
# the result is [1, 1, 1] + [1, 1, 1] = [2, 2, 2]
tf.reduce_sum(x, 0).numpy()
array([2, 2, 2], dtype=int32)
# reduce along the second dimension
# the result is [1, 1] + [1, 1] + [1, 1] = [3, 3]
tf.reduce_sum(x, 1).numpy()
array([3, 3], dtype=int32)
# keep the original dimensions
tf.reduce_sum(x, 1, keepdims=True).numpy()
array([[3],
       [3]], dtype=int32)
# reduce along both dimensions
# the result is 1 + 1 + 1 + 1 + 1 + 1 = 6
# or, equivalently, reduce along rows, then reduce the resultant array
# [1, 1, 1] + [1, 1, 1] = [2, 2, 2]
# 2 + 2 + 2 = 6
tf.reduce_sum(x, [0, 1]).numpy()
6

numpy 兼容性

相当于 np.sum 除了 numpy upcast uint8 和 int32 到 int64 而 tensorflow 返回与输入相同的 dtype 的事实。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.math.reduce_sum。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。