# tf.math.cumsum

Compute the cumulative sum of the tensor `x` along `axis`.

By default, this op performs an inclusive cumsum, which means that the first element of the input is identical to the first element of the output: For example:

````# tf.cumsum([a, b, c])   # [a, a + b, a + b + c]`
`x = tf.constant([2, 4, 6, 8])`
`tf.cumsum(x)`
`<tf.Tensor: shape=(4,), dtype=int32,`
`numpy=array([ 2,  6, 12, 20], dtype=int32)>`
```
````# using varying `axis` values`
`y = tf.constant([[2, 4, 6, 8], [1,3,5,7]])`
`tf.cumsum(y, axis=0)`
`<tf.Tensor: shape=(2, 4), dtype=int32, numpy=`
`array([[ 2,  4,  6,  8],`
`       [ 3,  7, 11, 15]], dtype=int32)>`
`tf.cumsum(y, axis=1)`
`<tf.Tensor: shape=(2, 4), dtype=int32, numpy=`
`array([[ 2,  6, 12, 20],`
`       [ 1,  4,  9, 16]], dtype=int32)>`
```

By setting the `exclusive` kwarg to `True`, an exclusive cumsum is performed instead:

````# tf.cumsum([a, b, c], exclusive=True)  => [0, a, a + b]`
`x = tf.constant([2, 4, 6, 8])`
`tf.cumsum(x, exclusive=True)`
`<tf.Tensor: shape=(4,), dtype=int32,`
`numpy=array([ 0,  2, ````