torch.unique_consecutive
-
torch.unique_consecutive(*args, **kwargs)[исходный код] -
Удаляет все элементы, кроме первого, из каждой последовательной группы эквивалентных элементов.
Примечание
Эта функция отличается от
torch.unique()тем, что удаляет только последовательные повторяющиеся значения. Эта семантика аналогичнаstd::uniqueв C++.- Параметры:
-
- input (Tensor) – входной тензор
- return_inverse (bool) – следует ли также возвращать индексы, указывающие, куда попали элементы исходного входного тензора в возвращаемом списке уникальных элементов.
- return_counts (bool) – следует ли также возвращать количество вхождений каждого уникального элемента.
-
dim (int) – размерность, для которой выполняется поиск уникальных элементов. Если
None, возвращаются уникальные элементы уплощённого входного тензора. Значение по умолчанию:None
- Возвращает:
-
Тензор или кортеж тензоров, содержащий
- output (Tensor): выходной список уникальных скалярных элементов.
-
inverse_indices (Tensor): (необязательно) если
return_inverseравно True, будет дополнительно возвращён тензор (той же формы, что и входной), содержащий индексы, указывающие, каким элементам выходного тензора соответствуют элементы исходного входного тензора; в противном случае функция вернёт только один тензор. -
counts (Tensor): (необязательно) если
return_countsравно True, будет дополнительно возвращён тензор (той же формы, что и output или output.size(dim), если задан dim), содержащий количество вхождений каждого уникального значения или тензора.
- Тип возвращаемого значения:
Пример:
>>> 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])
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.unique_consecutive.html