# tensorflow::ops::UnsortedSegmentMax Class Reference

# tensorflow::ops::UnsortedSegmentMax

`#include <math_ops.h>`

Computes the maximum along segments of a tensor.

## Summary

Read [the section on segmentation](https://tensorflow.org/api_docs/python/tf/math#Segmentation) for an explanation of segments.

This operator is similar to the unsorted segment sum operator found [(here)](https://www.tensorflow.org/versions/r2.3/api_docs/cc/api_docs/python/math_ops.md#UnsortedSegmentSum). Instead of computing the sum over segments, it computes the maximum such that:

\\(output_i = {j...} data\[j...\]\\) where max is over tuples `j...` such that `segment_ids[j...] == i`.

If the maximum is empty for a given segment ID `i`, it outputs the smallest possible value for the specific numeric type, `output[i] = numeric_limits::lowest()`.

If the given segment ID `i` is negative, then the corresponding value is dropped, and will not be included in the result.


![](https://www.tensorflow.org/static/versions/r2.3/api_docs/cc/images/UnsortedSegmentMax.png)

<br />

For example:


```
c = tf.constant([[1,2,3,4], [5,6,7,8], [4,3,2,1]])
tf.unsorted_segment_max(c, tf.constant([0, 1, 0]), num_segments=2)
# ==> [[ 4,  3, 3, 4],
#       [5,  6, 7, 8]]
```

<br />

Arguments:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- segment_ids: A tensor whose shape is a prefix of `data.shape`.

<br />

Returns:

- `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output`: Has same shape as data, except for the first `segment_ids.rank` dimensions, which are replaced with a single dimension which has size `num_segments`.

<br />

| ### Constructors and Destructors ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1aeb19f031754890ec47ed4697181ad221(const ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input data, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input segment_ids, ::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input num_segments)` ||

| ### Public attributes ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a9df170fe16bf74c048a7ff8b8d8e55b2` | `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a7406a8b8c43e7add9be33843cced1a48` | `::https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output` |

| ### Public functions ||
|---|---|
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a3655cb1e37a6e8dca92fd481d04ce919() const ` | `::tensorflow::Node *` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a482d2d791129d646d9781c61e2d457bf() const ` | ` `` ` |
| `https://www.tensorflow.org/versions/r2.3/api_docs/cc/class/tensorflow/ops/unsorted-segment-max#classtensorflow_1_1ops_1_1_unsorted_segment_max_1a06ee890e348271ba3c04223c6149d5a7() const ` | ` `` ` |

## Public attributes

### operation

```
Operation operation
```

### output

```
::tensorflow::Output output
```

## Public functions

### UnsortedSegmentMax

```
 UnsortedSegmentMax(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input data,
  ::tensorflow::Input segment_ids,
  ::tensorflow::Input num_segments
)
```

### node

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

### operator::tensorflow::Input

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

### operator::tensorflow::Output

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