快捷方式

torch.unique_consecutive

torch.unique_consecutive(*args, **kwargs)[source]

从每个连续的等效元素组中消除除第一个元素之外的所有元素。

注意

此函数与 torch.unique() 的不同之处在于,此函数仅消除连续的重复值。此语义类似于 C++ 中的 std::unique

参数
  • input (Tensor) – 输入张量

  • return_inverse (bool) – 是否也返回原始输入中的元素在返回的唯一列表中的索引。

  • return_counts (bool) – 是否也返回每个唯一元素的计数。

  • dim (int) – 应用 unique 的维度。如果 None,则返回扁平化输入的 unique 值。默认值:None

返回值

一个张量或张量元组,包含:

  • output (Tensor): 唯一标量元素的输出列表。

  • inverse_indices (Tensor): (可选) 如果 return_inverse 为 True,则会返回一个额外的张量(与输入形状相同),表示原始输入中的元素在输出中映射到的索引;否则,此函数将仅返回一个张量。

  • counts (Tensor): (可选) 如果 return_counts 为 True,则会返回一个额外的张量(与输出或 output.size(dim) 形状相同,如果指定了 dim),表示每个唯一值或张量的出现次数。

返回类型

(Tensor, Tensor (可选), Tensor (可选))

示例

>>> x = torch.tensor([1, 1, 2, 2, 3, 1, 1, 2])
>>> output = torch.unique_consecutive(x)
>>> output
tensor([1, 2, 3, 1, 2])

>>> output, inverse_indices = torch.unique_consecutive(x, return_inverse=True)
>>> output
tensor([1, 2, 3, 1, 2])
>>> inverse_indices
tensor([0, 0, 1, 1, 2, 3, 3, 4])

>>> output, counts = torch.unique_consecutive(x, return_counts=True)
>>> output
tensor([1, 2, 3, 1, 2])
>>> counts
tensor([2, 2, 1, 2, 1])

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源