roll¶
dragon.vm.tensorflow.
roll
(
input,
shift,
axis,
name=None
)[source]¶Roll elements along the given axis.
axis
could be negative orNone
:x = tf.constant([[1, 2, 3], [4, 5, 6]]) # A negative axis is the last-k axis print(tf.roll(x, shift=1, axis=1)) # [[3, 1, 2], [6, 4, 5]] print(tf.roll(x, shift=1, axis=-1)) # Equivalent # If axis is None, roll input as a vector print(tf.roll(x, shift=1)) # [[6, 1, 2], [3, 4, 5]] # Also, axis could be a sequence of integers print(tf.roll(x, shift=(1, 1), axis=(0, 1))) # [[6, 4, 5], [3, 1, 2]] print(tf.roll(x, shift=(1, -1), axis=(0, 1))) # [[5, 6, 4], [2, 3, 1]]
- Parameters:
- input (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.
- name (str, optional) – The operation name.
- Returns:
dragon.Tensor – The output tensor.