tf.math.cumprod

Compute the cumulative product of the tensor x along axis.

Compat aliases for migration

See Migration guide for more details.

tf.compat.v1.cumprod, tf.compat.v1.math.cumprod

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.math.cumprod([a, b, c])  # [a, a * b, a * b * c]

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

tf.math.cumprod([a, b, c], exclusive=True)  # [1, a, a * b]

By setting the reverse kwarg to True, the cumprod is performed in the opposite direction:

tf.math.cumprod([a, b, c], reverse=True)  # [a * b * c, b * c, c]

This is more efficient than using separate tf.reverse ops. The reverse and exclusive kwargs can also be combined:

tf.math.cumprod([a, b, c], exclusive=True, reverse=True)  # [b * c, c, 1]

x A Tensor. Must be one of the following types: float32, float64, int64, int32, uint8, uint16, int16, int8, complex64, complex128, qint8, quint8, qint32, half.
axis A Tensor of type int32 (default: 0). Must be in the range [-rank(x), rank(x)).
exclusive If True, perform exclusive cumprod.
reverse A bool (default: False).
name A name for the operation (optional).

A Tensor. Has the same type as x.