unique_with_counts
paddle.fluid.layers.unique_with_counts
(x, dtype=’int32’)[源代码]
该OP对输入Tensor元素进行去重,获取去重后结果Tensor,同时获取去重后结果在原始输入中的计数Tensor以及在原始输入中的索引Tensor。
注:该OP仅支持 CPU ,同时仅支持 Tensor
参数
x (Variable) – 数据shape为
的一维Tensor,数据类型为 float32,float64,int32,int64。
- dtype (np.dtype|core.VarDesc.VarType|str) – 索引和计数Tensor的类型,默认为 int32,数据类型需要为 int32或int64。
返回
out 表示对输入进行去重后结果一维Tensor,数据shape为
,K和输入x的shape中的N可能不一致。
index 表示原始输入在去重后结果中的索引Tensor
,shape和输入x的shape一致。
count 表示去重后元素的计数结果Tensor,数据shape为
,数据shape和out的shape一致。
返回类型
tuple,tuple中元素类型为Variable(Tensor),输出中的out和输入x的数据类型一致,输出中index以及count的数据类型为 int32,int64。
代码示例
import numpy as np
import paddle.fluid as fluid
x = fluid.layers.assign(np.array([2, 3, 3, 1, 5, 3], dtype='int32'))
out, index, count = fluid.layers.unique_with_counts(x) # out is [2, 3, 1, 5];
# index is [0, 1, 1, 2, 3, 1];
# count is [1, 3, 1, 1]
# x.shape=(6,) out.shape=(4,), index.shape=(6,), count.shape=(4,)