tf.roll
| Просмотреть исходный код на GitHub |
Сдвигает элементы тензора вдоль оси.
tf.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 | Тензор. |
shift | Число. Должен быть одного из следующих типов: int32, int64. Размерность должна быть 0-й или 1-й. shift[i] указывает количество позиций сдвига элементов положительно (к бóльшим индексам) вдоль размерности, указанной в axis[i]. Отрицательные сдвиги будут сдвигать элементы в противоположном направлении. |
axis | Число. Должен быть одного из следующих типов: int32, int64. Размерность должна быть 0-й или 1-й. axis[i] указывает размерность, в которой должен произойти сдвиг shift[i]. Если одна и та же ось упоминается более одного раза, то суммарный сдвиг для этой оси будет равен сумме всех сдвигов, относящихся к этой оси. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
Тензор. Имеет тот же тип, что и input. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/roll