當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。