Spec-Zone.ru › PyTorch 2.14

torch.repeat_interleave

torch.repeat_interleave(input, repeats, dim=None, *, output_size=None) → Tensor

Повторяет элементы тензора.

Предупреждение

Это отличается от torch.Tensor.repeat(), но похоже на numpy.repeat.

Параметры:
  • input (Tensor) – входной тензор.
  • repeats (Tensor или int) – Количество повторений для каждого элемента. Значение repeats расширяется с помощью broadcasting, чтобы соответствовать форме указанной оси.
  • dim (int, необязательно) – Измерение, вдоль которого повторяются значения. По умолчанию входной массив разворачивается в одномерный, и возвращается одномерный выходной массив.
Именованные аргументы:

output_size (int, необязательно) – Общий размер выходных данных для указанной оси (например, сумма значений repeats). Если задано, это позволяет избежать синхронизации потока, необходимой для вычисления формы выходного тензора.

Возвращает:

Тензор с повторениями, имеющий ту же форму, что и входной, за исключением указанной оси.

Тип возвращаемого значения:

Tensor

Пример:

>>> x = torch.tensor([1, 2, 3])
>>> x.repeat_interleave(2)
tensor([1, 1, 2, 2, 3, 3])
>>> y = torch.tensor([[1, 2], [3, 4]])
>>> torch.repeat_interleave(y, 2)
tensor([1, 1, 2, 2, 3, 3, 4, 4])
>>> torch.repeat_interleave(y, 3, dim=1)
tensor([[1, 1, 1, 2, 2, 2],
        [3, 3, 3, 4, 4, 4]])
>>> torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0)
tensor([[1, 2],
        [3, 4],
        [3, 4]])
>>> torch.repeat_interleave(y, torch.tensor([1, 2]), dim=0, output_size=3)
tensor([[1, 2],
        [3, 4],
        [3, 4]])

Если repeats равно tensor([n1, n2, n3, …]), то результатом будет tensor([0, 0, …, 1, 1, …, 2, 2, …, …]), где 0 встречается n1 раз, 1 встречается n2 раз, 2 встречается n3 раз и т. д.

torch.repeat_interleave(repeats, *) → Tensor

Повторяет 0 количество раз repeats[0], 1 — repeats[1] раз, 2 — repeats[2] раз и т. д.

Параметры:

repeats (Tensor) – Количество повторений для каждого элемента.

Возвращает:

Тензор с повторениями размера sum(repeats).

Тип возвращаемого значения:

Tensor

Пример:

>>> torch.repeat_interleave(torch.tensor([1, 2, 3]))
tensor([0, 1, 1, 2, 2, 2])

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

Spec-Zone.ru

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