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).
reduction_indices
The old (deprecated) name for axis.
keep_dims
Deprecated alias for keepdims.
Returns
The reduced tensor, of the same dtype as the input_tensor.
numpy compatibility
Equivalent to np.sum apart the fact that numpy upcast uint8 and int32 to
int64 while tensorflow returns the same dtype as the input.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-26 UTC."],[],[],null,["# tf.compat.v1.math.reduce_sum\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v2.16.1/tensorflow/python/ops/math_ops.py#L2066-L2143) |\n\nComputes the sum of elements across dimensions of a tensor. (deprecated arguments) \n\n tf.compat.v1.math.reduce_sum(\n input_tensor,\n axis=None,\n keepdims=None,\n name=None,\n reduction_indices=None,\n keep_dims=None\n )\n\n| **Deprecated:** SOME ARGUMENTS ARE DEPRECATED: `(keep_dims)`. They will be removed in a future version. Instructions for updating: keep_dims is deprecated, use keepdims instead\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| `reduction_indices` | The old (deprecated) name for axis. |\n| `keep_dims` | Deprecated alias for `keepdims`. |\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"]]