ML Community Day is November 9! Join us for updates from TensorFlow, JAX, and more Learn more


Reduces the input tensor along the given axis using Kahan summation.

Returns both the total and the correction term, as a namedtuple, so that a more accurate sum may be written as total - correction.

A practical use-case is computing the difference of two large (magnitude) sums we expect to be nearly equal. If instead we take their difference as ( - - (s0.correction - s1.correction), we can retain more precision in computing their difference.

input_tensor The tensor to sum.
axis One of None, a Python int, or a sequence of Python int. The axes to be reduced. None is taken as "reduce all axes".
keepdims Python bool indicating whether we return a tensor with singleton dimensions in the reduced axes (True), or squeeze the axes out (default, False).
name Optional name for ops in scope.

reduced A Kahan(total, correction) namedtuple.