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)