mindspore.ops.unique
- mindspore.ops.unique(x)[源代码]
对输入Tensor中元素去重,并返回一个索引Tensor,包含输入Tensor中的元素在输出Tensor中的索引。
y 与 idx 的shape通常会有差别,因为 y 会将元素去重,而 idx 的shape与 x 一致。 若需要 idx 与 y 的shape相同,请参考
mindspore.ops.UniqueWithPad
算子。警告
此算子为实验性算子,将来可能面临更改或删除。
- 参数:
x (Tensor) - 需要被去重的Tensor。shape: \((N,*)\) ,其中 \(*\) 表示任意数量的附加维度。
- 返回:
Tuple, (y, idx) 。 y 是与 x 数据类型相同的Tensor,包含 x 中去重后的元素。 idx 为索引Tensor,包含 x 中的元素在 y 中的索引,与 x 的shape相同。
- 异常:
TypeError - x 不是Tensor。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, nn >>> from mindspore import ops >>> x = Tensor(np.array([1, 2, 5, 2]), mindspore.int32) >>> output = ops.unique(x) >>> print(output) (Tensor(shape=[3], dtype=Int32, value= [1, 2, 5]), Tensor(shape=[4], dtype=Int32, value= [0, 1, 2, 1])) >>> y = output[0] >>> print(y) [1 2 5] >>> idx = output[1] >>> print(idx) [0 1 2 1]