mindspore.dataset.transforms.Unique

class mindspore.dataset.transforms.Unique[源代码]

对输入张量进行唯一运算,每次只支持对一个数据列进行变换。

Unique将返回3个Tensor: 运算结果Tensor,索引Tensor,计数Tensor。

  • 运算结果Tensor包含输入张量的所有唯一元素,且和输入张量的顺序是一样的。

  • 索引Tensor包含输入Tensor的每个元素在运算结果中的索引。

  • 计数Tensor包含运算结果Tensor的每个元素的计数。

Note

需要在 batch 操作之后调用该运算。

异常:

  • RuntimeError - 当输入的Tensor具有两列。

支持平台:

CPU

样例:

>>> # Data before
>>> # |  x                 |
>>> # +--------------------+
>>> # | [[0,1,2], [1,2,3]] |
>>> # +--------------------+
>>> data = [[[0,1,2], [1,2,3]]]
>>> dataset = ds.NumpySlicesDataset(data, ["x"])
>>> dataset = dataset.map(operations=transforms.Unique(),
...                       input_columns=["x"],
...                       output_columns=["x", "y", "z"],
...                       column_order=["x", "y", "z"])
>>> # Data after
>>> # |  x      |  y              |z        |
>>> # +---------+-----------------+---------+
>>> # | [0,1,2,3] | [0,1,2,1,2,3] | [1,2,2,1]
>>> # +---------+-----------------+---------+