MoveAxis¶
Описание¶
Этот модуль выполняет функцию перемещения оси тензора. Аналог функции moveaxis в numpy
.
Инициализация¶
def __init__(self, src, dst, name=None):
Параметры
Параметр | Возможные типы | Описание | По умолчанию |
---|---|---|---|
src | int | Начальная позиция оси. | - |
dst | int | Целевая позиция оси. | - |
name | str | Имя слоя. | None |
Пояснения
-
Примеры¶
Необходимые импорты.
>>> import numpy as np
>>> from PuzzleLib.Backend import gpuarray
>>> from PuzzleLib.Modules import MoveAxis
Info
gpuarray
необходим для правильного размещения тензора на GPU
>>> batchsize, maps, h, w = 1, 1, 3, 3
>>> data = gpuarray.to_gpu(np.arange(batchsize * maps * h * w).reshape((batchsize, maps, h, w)).astype(np.float32))
>>> print(data)
[[[[0. 1. 2.]
[3. 4. 5.]
[6. 7. 8.]]]]
Зададим параметры таким образом, чтобы поменять оси высоты и ширины местами (что будет эквивалентно транспонированию карты):
>>> src, dst = 2, 3
>>> moveaxis = MoveAxis(src, dst)
>>> moveaxis(data)
[[[[0. 3. 6.]
[1. 4. 7.]
[2. 5. 8.]]]]