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 ==> [1, 2, 4, 7, 8]
idx ==> [0, 0, 1, 2, 2, 2, 3, 4, 4]
# tensor 'x' is [[1, 0, 0],
# [1, 0, 0],
# [2, 0, 0]]
y, idx = unique(x, axis=0)
y ==> [[1, 0, 0],
[2, 0, 0]]
idx ==> [0, 0, 1]
# tensor 'x' is [[1, 0, 0],
# [1, 0, 0],
# [2, 0, 0]]
y, idx = unique(x, axis=1)
y ==> [[1, 0],
[1, 0],
[2, 0]]
idx ==> [0, 1, 1]
Public Methods
static <T, V extends Number, U extends Number> Unique<T, V> | |
static <T, U extends Number> Unique<T, Integer> | |
Output<V> |
idx()
A 1-D Tensor.
|
Output<T> |
y()
A `Tensor`.
|
Inherited Methods
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 |
---|---|
x | A `Tensor`. |
axis | 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 |
---|---|
x | A `Tensor`. |
axis | 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.