Roll

torch_roll(self, shifts, dims = list())

Arguments

self

(Tensor) the input tensor.

shifts

(int or tuple of ints) The number of places by which the elements of the tensor are shifted. If shifts is a tuple, dims must be a tuple of the same size, and each dimension will be rolled by the corresponding value

dims

(int or tuple of ints) Axis along which to roll

roll(input, shifts, dims=NULL) -> Tensor

Roll the tensor along the given dimension(s). Elements that are shifted beyond the last position are re-introduced at the first position. If a dimension is not specified, the tensor will be flattened before rolling and then restored to the original shape.

Examples

if (torch_is_installed()) { x = torch_tensor(c(1, 2, 3, 4, 5, 6, 7, 8))$view(c(4, 2)) x torch_roll(x, 1, 1) torch_roll(x, -1, 1) torch_roll(x, shifts=list(2, 1), dims=list(1, 2)) }
#> torch_tensor #> 6 5 #> 8 7 #> 2 1 #> 4 3 #> [ CPUFloatType{4,2} ]