Finds unique elements along an axis of a tensor.
tf.raw_ops.UniqueWithCountsV2(
x, axis, out_idx=tf.dtypes.int32, name=None
)
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 = UniqueWithCountsV2(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 = UniqueWithCountsV2(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 = UniqueWithCountsV2(x, axis=[1])
y ==> [[1, 0],
[1, 0],
[2, 0]]
idx ==> [0, 1, 1]
count ==> [1, 2]
Args | |
---|---|
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). |
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 .
|