tf.raw_ops.UniqueWithCountsV2

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]

x A Tensor. A Tensor.
axis A Tensor. Must be one of the following types: int32, int64. A Tensor of type int32 (default: None). The axis of the Tensor to find the unique elements.
out_idx An optional tf.DType from: tf.int32, tf.int64. Defaults to tf.int32.
name A name for the operation (optional).

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.