Transpose¶
Описание¶
Данный модуль реализует перестановку осей входного тензора в желаемом порядке. Аналог функции transpose в numpy
.
Инициализация¶
def __init__(self, axes=None, name=None):
Параметры
Параметр | Возможные типы | Описание | По умолчанию |
---|---|---|---|
axes | tuple | Кортеж с желаемым расположением осей. | None |
name | str | Имя слоя. | None |
Пояснения
axes
- если None
, то будет проводиться обычная операция транспонирования, в ином случае проводится перестановка в заданном порядке.
Примеры¶
Необходимые импорты.
>>> import numpy as np
>>> from PuzzleLib.Backend import gpuarray
>>> from PuzzleLib.Modules import Transpose
Info
gpuarray
необходим для правильного размещения тензора на GPU
>>> shape = (10, 3, 5, 4, 2)
>>> axes = (2, 4, 1, 3, 0)
>>> data = gpuarray.to_gpu(np.random.randn(*shape).astype(np.float32))
Инициализируем операцию с параметрами по умолчанию (axes=None
):
>>> transpose = Transpose()
>>> outdata = transpose(data)
>>> print(outdata.shape)
(2, 4, 5, 3, 10)
На этот раз зададим желаемый порядок осей:
>>> transpose = Transpose(axes)
>>> outdata = transpose(data)
>>> print(outdata.shape)
(5, 2, 3, 4, 10)