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