mindspore.Tensor.unique_with_pad
- mindspore.Tensor.unique_with_pad(pad_num)[源代码]
对当前一维张量中元素去重,返回一维张量中的唯一元素(使用pad_num填充)和相对索引。
基本操作与unique相同,但unique_with_pad多了pad操作。 unique运算符对张量处理后所返回的元组( y , idx ), y 与 idx 的shape通常会有差别,因此,为了解决上述情况, unique_with_pad操作符将用用户指定的 pad_num 填充 y 张量,使其具有与张量 idx 相同的形状。
- 参数:
pad_num (int) - 填充值。数据类型为int32或int64。
- 返回:
Tuple, (y, idx) 。 y 是与当前张量形状和数据类型相同的Tensor,包含当前张量中去重后的元素,并用 pad_num 填充。 idx 为索引Tensor,包含当前张量中的元素在 y 中的索引,与当前张量的shape相同。
- 异常:
TypeError - 当前张量的数据类型既不是int32也不是int64。
ValueError - 当前张量不是一维张量。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import numpy as np >>> from mindspore import Tensor >>> from mindspore import dtype as mstype >>> x = Tensor(np.array([1, 1, 2, 2, 3, 1]), mstype.int32) >>> output, idx = x.unique_with_pad(pad_num=0) >>> print(output) [1 2 3 0 0 0] >>> print(idx) [0 0 1 1 2 0]