Spec-Zone.ru › PyTorch 2

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, будет возвращён дополнительный тензор (такой же формы, как выходной или выходной.размер(размерность), если была указана размерность), представляющий количество вхождений для каждого уникального значения или тензора.
Тип возвращаемого значения

(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])

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.unique_consecutive.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API