# Unique

public final class Unique

Finds unique elements along an axis of a tensor.

This operation either returns a tensor `y` containing unique elements along the `axis` of a tensor. The returned unique elements is sorted in the same order as they occur along `axis` in `x`. This operation also returns a tensor `idx` that is the same size as the number of the elements in `x` along the `axis` dimension. It contains the index in the unique output `y`. In other words, for an `1-D` tensor `x` with `axis = None:

`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 = unique(x)
y ==&gt; [1, 2, 4, 7, 8]
idx ==&gt; [0, 0, 1, 2, 2, 2, 3, 4, 4]
``````
For an `2-D` tensor `x` with `axis = 0`:
``````# tensor 'x' is [[1, 0, 0],
#                [1, 0, 0],
#                [2, 0, 0]]
y, idx = unique(x, axis=0)
y ==&gt; [[1, 0, 0],
[2, 0, 0]]
idx ==&gt; [0, 0, 1]
``````
For an `2-D` tensor `x` with `axis = 1`:
``````# tensor 'x' is [[1, 0, 0],
#                [1, 0, 0],
#                [2, 0, 0]]
y, idx = unique(x, axis=1)
y ==&gt; [[1, 0],
[1, 0],
[2, 0]]
idx ==&gt; [0, 1, 1]
``````

### Public Methods

 static Unique create(Scope scope, Operand x, Operand axis, Class outIdx) Factory method to create a class wrapping a new Unique operation. static Unique create(Scope scope, Operand x, Operand axis) Factory method to create a class wrapping a new Unique operation using default output types. Output idx() A 1-D Tensor. Output y() A `Tensor`.

## Public Methods

#### public static Unique<T, V> create(Scope scope, Operand<T> x, Operand<U> axis, Class<V> outIdx)

Factory method to create a class wrapping a new Unique operation.

##### Parameters
scope current scope A `Tensor`. A `Tensor` of type `int32` (default: None). The axis of the Tensor to find the unique elements.
##### Returns
• a new instance of Unique

#### public static Unique<T, Integer> create(Scope scope, Operand<T> x, Operand<U> axis)

Factory method to create a class wrapping a new Unique operation using default output types.

##### Parameters
scope current scope A `Tensor`. A `Tensor` of type `int32` (default: None). The axis of the Tensor to find the unique elements.
##### Returns
• a new instance of Unique

#### public Output<V> idx()

A 1-D Tensor. Has the same type as x that contains the index of each value of x in the output y.

#### public Output<T> y()

A `Tensor`. Unique elements along the `axis` of `Tensor` x.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]