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)