roll¶
dragon.
roll
(
inputs,
shift,
axis=None,
**kwargs
)[source]¶Roll elements along the given axis.
axis
could be negative orNone
:x = dragon.constant([[1, 2, 3], [4, 5, 6]]) # A negative axis is the last-k axis print(dragon.roll(x, shift=1, axis=1)) # [[3, 1, 2], [6, 4, 5]] print(dragon.roll(x, shift=1, axis=-1)) # Equivalent # If axis is None, roll input as a vector print(dragon.roll(x, shift=1)) # [[6, 1, 2], [3, 4, 5]] # Also, axis could be a sequence of integers print(dragon.roll(x, shift=(1, 1), axis=(0, 1))) # [[6, 4, 5], [3, 1, 2]] print(dragon.roll(x, shift=(1, -1), axis=(0, 1))) # [[5, 6, 4], [2, 3, 1]]
- Parameters:
- inputs (dragon.Tensor) – The input tensor.
- shift (Union[int, Sequence[int], dragon.Tensor]) – The rolling offset of each axis.
- axis (Union[int, Sequence[int]], optional) – The axis to roll.
- Returns:
dragon.Tensor – The output tensor.