What is tf.reduce_sum?
tf.reduce_sum()
is a fundamental TensorFlow operation that
sums elements across dimensions of a tensor. Key
features:
-
Reduces input tensor dimensions as specified by
axis
parameter - Returns a tensor with reduced dimensions
- Essential for machine learning matrix operations and loss calculations
Table of Contents
Basic Tensor Reduction Examples
Reduce entire tensor to scalar value:
import tensorflow as tf
# Create 1D tensor
tensor_1d = tf.constant([1, 2, 3])
sum_1d = tf.reduce_sum(tensor_1d)
print(sum_1d) # Output: tf.Tensor(6, shape=(), dtype=int32)
Sum elements in 2D tensor:
tensor_2d = tf.constant([[1, 2, 3], [2, 3, 5]])
sum_2d = tf.reduce_sum(tensor_2d)
print(sum_2d) # Output: tf.Tensor(16, shape=(), dtype=int32)
Understanding the Axis Parameter
The axis
parameter controls reduction dimensions:
Sum Along Columns (axis=0)
tensor = tf.constant([[1, 2, 3], [2, 3, 5]])
col_sum = tf.reduce_sum(tensor, axis=0)
print(col_sum) # Output: tf.Tensor([3 5 8], shape=(3,), dtype=int32)
Sum Along Rows (axis=1)
row_sum = tf.reduce_sum(tensor, axis=1)
print(row_sum) # Output: tf.Tensor([6 10], shape=(2,), dtype=int32)
Performance Tips
-
Use
keepdims=True
to maintain tensor rank for broadcasting - Prefer integer tensors for faster computation
-
Combine with
tf.function
for graph-mode optimizations
Key Takeaways
-
tf.reduce_sum()
is essential for dimensionality reduction - Axis parameter controls summation direction
- Works with tensors of any rank