Thanks for tuning in to Google I/O. View all sessions on demand

# tensorflow:: ops:: Cumsum

``` #include <math_ops.h> ```

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

## Summary

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:

```tf.cumsum([a, b, c])  # => [a, a + b, a + b + c]
```

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

```tf.cumsum([a, b, c], exclusive=True)  # => [0, a, a + b]
```

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

```tf.cumsum([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.cumsum([a, b, c], exclusive=True, reverse=True)  # => [b + c, c, 0]
```

Args:

• 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 cumsum.
• reverse: A ``` bool ``` (default: False).

Returns:

• ``` Output ``` : The out tensor.

### Constructors and Destructors

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

### Public attributes

``` operation ```
``` Operation ```
``` out ```
``` :: tensorflow::Output ```

### Public functions

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

### Public static functions

``` Exclusive (bool x) ```
``` Attrs ```
``` Reverse (bool x) ```
``` Attrs ```

### Structs

tensorflow:: ops:: Cumsum:: Attrs

Optional attribute setters for Cumsum .

## Public attributes

### operation

`Operation operation`

### out

`::tensorflow::Output out`

## Public functions

### Cumsum

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

### Cumsum

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

### node

`::tensorflow::Node * node() const `

### operator::tensorflow::Input

` operator::tensorflow::Input() const `

### operator::tensorflow::Output

` operator::tensorflow::Output() const `

## Public static functions

### Exclusive

```Attrs Exclusive(
bool x
)```

### Reverse

```Attrs Reverse(
bool x
)```
[]
[]