Transpose

Описание

Info

Родительский класс: Module

Производные классы: -

Данный модуль реализует перестановку осей входного тензора в желаемом порядке. Аналог функции 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)