From the tensorflow documentation:
By default, this op performs an inclusive cumprod, which means that the first element of the input is identical to the first element of the output:
tf.cumprod([a, b, c]) ==> [a, a * b, a * b * c]
By setting the exclusive kwarg to True, an exclusive cumprod is performed instead:
tf.cumprod([a, b, c], exclusive=True) ==> [1, a, a * b]