MoveAxis

Описание

Info

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

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

Этот модуль выполняет функцию перемещения оси тензора. Аналог функции 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)
print(moveaxis(data))
[[[[0. 3. 6.]
   [1. 4. 7.]
   [2. 5. 8.]]]]