# tensorflow::ops::Cumprod

#include <math_ops.h>

Compute the cumulative product of the tensor x along axis.

## Summary

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]

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

tf.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.cumprod([a, b, c], exclusive=True, reverse=True)  # => [b * c, c, 1]

Arguments:

• scope: A Scope object
• 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)).

Optional attributes (see Attrs):

• exclusive: If True, perform exclusive cumprod.
• reverse: A bool (default: False).

Returns:

### Constructors and Destructors

Cumprod(const ::tensorflow::Scope & scope, ::tensorflow::Input x, ::tensorflow::Input axis)
Cumprod(const ::tensorflow::Scope & scope, ::tensorflow::Input x, ::tensorflow::Input axis, const Cumprod::Attrs & attrs)

operation
out

### Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

### Public static functions

Exclusive(bool x)
Reverse(bool x)

### Structs

tensorflow::ops::Cumprod::Attrs

Optional attribute setters for Cumprod.

## Public attributes

### operation

Operation operation

### out

::tensorflow::Output out

## Public functions

### Cumprod

Cumprod(
const ::tensorflow::Scope & scope,
::tensorflow::Input x,
::tensorflow::Input axis
)

### Cumprod

Cumprod(
const ::tensorflow::Scope & scope,
::tensorflow::Input x,
::tensorflow::Input axis,
const Cumprod::Attrs & attrs
)

### node

::tensorflow::Node * node() const

### operator::tensorflow::Input

operator::tensorflow::Input() const

### operator::tensorflow::Output

operator::tensorflow::Output() const

Attrs Exclusive(
bool x
)

Attrs Reverse(
bool x
)