Spec-Zone.ru › PyTorch 2.14

torch.roll

torch.roll(input, shifts, dims=None) → Tensor

Циклически сдвигает тензор input вдоль указанных измерений. Элементы, сдвинутые за последнюю позицию, вновь появляются в первой позиции. Если dims равно None, тензор будет сплющен перед циклическим сдвигом, а затем восстановлен до исходной формы.

Параметры:
  • input (Tensor) – входной тензор.
  • shifts (int or tuple of ints) – Число позиций, на которое сдвигаются элементы тензора. Если shifts — кортеж, dims должен быть кортежем того же размера, и каждое измерение будет циклически сдвинуто на соответствующее значение.
  • dims (int or tuple of ints) – Ось, вдоль которой выполняется циклический сдвиг.

Пример:

>>> x = torch.tensor([1, 2, 3, 4, 5, 6, 7, 8]).view(4, 2)
>>> x
tensor([[1, 2],
        [3, 4],
        [5, 6],
        [7, 8]])
>>> torch.roll(x, 1)
tensor([[8, 1],
        [2, 3],
        [4, 5],
        [6, 7]])
>>> torch.roll(x, 1, 0)
tensor([[7, 8],
        [1, 2],
        [3, 4],
        [5, 6]])
>>> torch.roll(x, -1, 0)
tensor([[3, 4],
        [5, 6],
        [7, 8],
        [1, 2]])
>>> torch.roll(x, shifts=(2, 1), dims=(0, 1))
tensor([[6, 5],
        [8, 7],
        [2, 1],
        [4, 3]])

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

Spec-Zone.ru

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