tf.raw_ops.Roll
Циклически сдвигает элементы тензора вдоль оси.
tf.raw_ops.Roll(
input, shift, axis, name=None
)
Элементы сдвигаются в положительном направлении (к большим индексам) на величину shift вдоль измерения axis. Отрицательные значения shift сдвигают элементы в противоположном направлении. Элементы, которые при циклическом сдвиге проходят за последнюю позицию, переходят в начало, и наоборот. Можно задать несколько сдвигов вдоль нескольких осей.
Например:
# '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]]
| Аргументы | |
|---|---|
input | Tensor. |
shift | Tensor. Допустимые типы: int32, int64. Размерность должна быть 0-D или 1-D. shift[i] задаёт число позиций, на которое элементы сдвигаются в положительном направлении (к большим индексам) вдоль измерения, заданного параметром axis[i]. Отрицательные значения сдвига перемещают элементы в противоположном направлении. |
axis | Tensor. Допустимые типы: int32, int64. Размерность должна быть 0-D или 1-D. axis[i] задаёт измерение, вдоль которого должен выполняться сдвиг shift[i]. Если одна и та же ось указана несколько раз, общий сдвиг для этой оси будет равен сумме всех сдвигов, относящихся к ней. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
Tensor. Имеет тот же тип, что и input. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/Roll