tf.math.reduce_sum
Stay organized with collections
Save and categorize content based on your preferences.
Computes the sum of elements across dimensions of a tensor.
tf.math.reduce_sum(
input_tensor, axis=None, keepdims=False, name=None
)
This is the reduction operation for the elementwise tf.math.add
op.
Reduces input_tensor
along the dimensions given in axis
.
Unless keepdims
is true, the rank of the tensor is reduced by 1 for each
of the entries in axis
, which must be unique. If keepdims
is true, the
reduced dimensions are retained with length 1.
If axis
is None, all dimensions are reduced, and a
tensor with a single element is returned.
For example |
>>> # 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
|
Args |
input_tensor
|
The tensor to reduce. Should have numeric type.
|
axis
|
The dimensions to reduce. If None (the default), reduces all
dimensions. Must be in the range [-rank(input_tensor),
rank(input_tensor)] .
|
keepdims
|
If true, retains reduced dimensions with length 1.
|
name
|
A name for the operation (optional).
|
Returns |
The reduced tensor, of the same dtype as the input_tensor.
|
Equivalent to np.sum apart the fact that numpy upcast uint8 and int32 to
int64 while tensorflow returns the same dtype as the input.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Some content is licensed under the numpy license.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[],[],null,["# tf.math.reduce_sum\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.14.0/tensorflow/python/ops/math_ops.py#L2366-L2430) |\n\nComputes the sum of elements across dimensions of a tensor.\n\n#### View aliases\n\n\n**Main aliases**\n\n[`tf.reduce_sum`](https://www.tensorflow.org/api_docs/python/tf/math/reduce_sum)\n\n\u003cbr /\u003e\n\n tf.math.reduce_sum(\n input_tensor, axis=None, keepdims=False, name=None\n )\n\nThis is the reduction operation for the elementwise [`tf.math.add`](../../tf/math/add) op.\n\nReduces `input_tensor` along the dimensions given in `axis`.\nUnless `keepdims` is true, the rank of the tensor is reduced by 1 for each\nof the entries in `axis`, which must be unique. If `keepdims` is true, the\nreduced dimensions are retained with length 1.\n\nIf `axis` is None, all dimensions are reduced, and a\ntensor with a single element is returned.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| For example ----------- ||\n|---|---|\n| \u003cbr /\u003e \u003e\u003e\u003e # x has a shape of (2, 3) (two rows and three columns): \u003e\u003e\u003e x = tf.constant([[1, 1, 1], [1, 1, 1]]) \u003e\u003e\u003e x.numpy() array([[1, 1, 1], [1, 1, 1]], dtype=int32) \u003e\u003e\u003e # sum all the elements \u003e\u003e\u003e # 1 + 1 + 1 + 1 + 1+ 1 = 6 \u003e\u003e\u003e tf.reduce_sum(x).numpy() 6 \u003e\u003e\u003e # reduce along the first dimension \u003e\u003e\u003e # the result is [1, 1, 1] + [1, 1, 1] = [2, 2, 2] \u003e\u003e\u003e tf.reduce_sum(x, 0).numpy() array([2, 2, 2], dtype=int32) \u003e\u003e\u003e # reduce along the second dimension \u003e\u003e\u003e # the result is [1, 1] + [1, 1] + [1, 1] = [3, 3] \u003e\u003e\u003e tf.reduce_sum(x, 1).numpy() array([3, 3], dtype=int32) \u003e\u003e\u003e # keep the original dimensions \u003e\u003e\u003e tf.reduce_sum(x, 1, keepdims=True).numpy() array([[3], [3]], dtype=int32) \u003e\u003e\u003e # reduce along both dimensions \u003e\u003e\u003e # the result is 1 + 1 + 1 + 1 + 1 + 1 = 6 \u003e\u003e\u003e # or, equivalently, reduce along rows, then reduce the resultant array \u003e\u003e\u003e # [1, 1, 1] + [1, 1, 1] = [2, 2, 2] \u003e\u003e\u003e # 2 + 2 + 2 = 6 \u003e\u003e\u003e tf.reduce_sum(x, [0, 1]).numpy() 6 \u003cbr /\u003e ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|----------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| `input_tensor` | The tensor to reduce. Should have numeric type. |\n| `axis` | The dimensions to reduce. If `None` (the default), reduces all dimensions. Must be in the range `[-rank(input_tensor), rank(input_tensor)]`. |\n| `keepdims` | If true, retains reduced dimensions with length 1. |\n| `name` | A name for the operation (optional). |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|---|---|\n| The reduced tensor, of the same dtype as the input_tensor. ||\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nnumpy compatibility\n-------------------\n\n\u003cbr /\u003e\n\nEquivalent to np.sum apart the fact that numpy upcast uint8 and int32 to\nint64 while tensorflow returns the same dtype as the input.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e"]]