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-мерным или 1-мерным. shift[i] указывает количество позиций, на которые элементы сдвигаются положительно (в сторону больших индексов) вдоль измерения, указанного axis[i]. Отрицательные сдвиги перемещают элементы в противоположном направлении. |
axis | Tensor. Должен быть одного из следующих типов: int32, int64. Измерение должно быть 0-мерным или 1-мерным. 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/versions/r2.9/api_docs/python/tf/raw_ops/Roll