Warning: This API is deprecated and will be removed in a future version of TensorFlow after the replacement is stable.

UniqueWithCounts

Stay organized with collections Save and categorize content based on your preferences.
public final class UniqueWithCounts

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` and a tensor `count` that are the same size as the number of the elements in `x` along the `axis` dimension. The `idx` contains the index in the unique output `y` and the `count` contains the count 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:

x = tf.constant([1, 1, 2, 4, 4, 4, 7, 8, 8])
 y, idx, count = tf.raw_ops.UniqueWithCountsV2(x=x, axis = [0])
 y ==> [1, 2, 4, 7, 8]
 idx ==> [0, 0, 1, 2, 2, 2, 3, 4, 4]
 count ==> [2, 1, 3, 1, 2]
 
For a `2-D` tensor `x` with `axis = 0`:
x = tf.constant([[1, 0, 0],
                 [1, 0, 0],
                 [2, 0, 0]])
 y, idx, count = tf.raw_ops.UniqueWithCountsV2(x=x, axis=[0])
 y ==> [[1, 0, 0],
        [2, 0, 0]]
 idx ==> [0, 0, 1]
 count ==> [2, 1]
 
For a `2-D` tensor `x` with `axis = 1`:
x = tf.constant([[1, 0, 0],
                 [1, 0, 0],
                 [2, 0, 0]])
 y, idx, count = tf.raw_ops.UniqueWithCountsV2(x=x, axis=[1])
 y ==> [[1, 0],
        [1, 0],
        [2, 0]]
 idx ==> [0, 1, 1]
 count ==> [1, 2]
 

Public Methods

Output<V>
count()
A 1-D Tensor.
static <T, V extends Number, U extends Number> UniqueWithCounts<T, V>
create(Scope scope, Operand<T> x, Operand<U> axis, Class<V> outIdx)
Factory method to create a class wrapping a new UniqueWithCounts operation.
static <T, U extends Number> UniqueWithCounts<T, Integer>
create(Scope scope, Operand<T> x, Operand<U> axis)
Factory method to create a class wrapping a new UniqueWithCounts operation using default output types.
Output<V>
idx()
A 1-D Tensor.
Output<T>
y()
A `Tensor`.

Inherited Methods

Public Methods

public Output<V> count ()

A 1-D Tensor. The count of each value of x in the output y.

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

Factory method to create a class wrapping a new UniqueWithCounts 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 UniqueWithCounts

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

Factory method to create a class wrapping a new UniqueWithCounts 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 UniqueWithCounts

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.