Rolls the elements of a tensor along an axis.
Aliases:
tf.compat.v1.manip.roll
tf.compat.v1.roll
tf.compat.v2.roll
tf.roll(
input,
shift,
axis,
name=None
)
Used in the tutorials:
D
ee
pD
re
am
The elements areshift
ed positively (towards larger indices) by the offset ofshift
along the dimension ofaxis
. Negativeshift
values willshift
elements in the opposite direction. Elements that roll passed the last position will wrap around to the first and vice versa. Multipleshift
s along multiple axes may be specified.
For example:
# 't' is [0, 1, 2, 3, 4]
roll(t, shift=2, axis=0) ==> [3, 4, 0, 1, 2]
# shifting along multiple dimensions
# 't' is [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
roll(t, shift=[1, -2], axis=[0, 1]) ==> [[7, 8, 9, 5, 6], [2, 3, 4, 0, 1]]
# shifting along the same axis multiple times
# 't' is [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
roll(t, shift=[2, -3], axis=[1, 1]) ==> [[1, 2, 3, 4, 0], [6, 7, 8, 9, 5]]
Args:
input
: ATensor
.shift
: ATensor
. Must be one of the following types:int32
,int64
. Dimension must be 0-D or 1-D.shift
[i] specifies the number of places by which elements areshift
ed positively (towards larger indices) along the dimension specified byaxis[i]
. Negativeshift
s will roll the elements in the opposite direction.axis
: ATensor
. Must be one of the following types:int32
,int64
. Dimension must be 0-D or 1-D.axis[i]
specifies the dimension that theshift
shift
[i] should occur. If the sameaxis
is referenced more than once, the totalshift
for thataxis
will be the sum of all theshift
s that belong to thataxis
.name
: Aname
for the operation (optional).
Returns:
A Tensor
. Has the same type as input
.