# tf.raw_ops.UniqueWithCounts

<br />

Finds unique elements in a 1-D tensor.

#### View aliases


**Compat aliases for migration**

See
[Migration guide](https://www.tensorflow.org/guide/migrate) for
more details.

[`tf.compat.v1.raw_ops.UniqueWithCounts`](https://www.tensorflow.org/api_docs/python/tf/raw_ops/UniqueWithCounts)

<br />

    tf.raw_ops.UniqueWithCounts(
        x,
        out_idx=https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/dtypes#int32,
        name=None
    )

This operation returns a tensor `y` containing all of the unique elements of `x`
sorted in the same order that they occur in `x`. This operation also returns a
tensor `idx` the same size as `x` that contains the index of each value of `x`
in the unique output `y`. Finally, it returns a third tensor `count` that
contains the count of each element of `y` in `x`. In other words:

`y[idx[i]] = x[i] for i in [0, 1,...,rank(x) - 1]`

#### For example:

    # tensor 'x' is [1, 1, 2, 4, 4, 4, 7, 8, 8]
    y, idx, count = unique_with_counts(x)
    y ==> [1, 2, 4, 7, 8]
    idx ==> [0, 0, 1, 2, 2, 2, 3, 4, 4]
    count ==> [2, 1, 3, 1, 2]

<br />

<br />

<br />

| ## Args ||
|---|---|
| `x` | A `Tensor`. 1-D. |
| `out_idx` | An optional [`tf.DType`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/dtypes/DType) from: `tf.int32, tf.int64`. Defaults to [`tf.int32`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf#int32). |
| `name` | A name for the operation (optional). |

<br />

<br />

| ## Returns ||
|---|---|
| A tuple of `Tensor` objects (y, idx, count). ||
| `y` | A `Tensor`. Has the same type as `x`. |
| `idx` | A `Tensor` of type `out_idx`. |
| `count` | A `Tensor` of type `out_idx`. |

<br />