Transpose¶
Description¶
This module implements a permutation of the input tensor axes in the desired order. An analog of the transpose function in numpy
.
Initializing¶
def __init__(self, axes=None, name=None):
Parameters
Parameter | Allowed types | Description | Default |
---|---|---|---|
axes | tuple | Tuple with the desired axis layout | None |
name | str | Layer name | None |
Explanations
axes
- if None
, then the usual transpose operation will be performed, otherwise, the permutation is performed in the specified order.
Examples¶
Necessary imports.
import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Modules import Transpose
Info
gpuarray
is required to properly place the tensor in the GPU
shape = (10, 3, 5, 4, 2)
axes = (2, 4, 1, 3, 0)
data = gpuarray.to_gpu(np.random.randn(*shape).astype(np.float32))
Let us initialize the operation with the default parameters (axes=None
):
transpose = Transpose()
outdata = transpose(data)
print(outdata.shape)
(2, 4, 5, 3, 10)
This time let us set the desired axis order:
transpose = Transpose(axes)
outdata = transpose(data)
print(outdata.shape)
(5, 2, 3, 4, 10)