Slice¶
Description¶
This module implements the operation of slicing the data tensor.
Initializing¶
def __init__(self, slc=None, name=None):
Parameters
Parameter | Allowed types | Description | Default |
---|---|---|---|
slc | list | List of slice objects | None |
name | str | Layer name | None |
Explanations
slc
- it is possible to set a slice for convenience instead of a list of slice objects, just like for numpy arrays (see example).
Examples¶
Necessary imports.
import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Modules import Slice
Info
gpuarray
is required to properly place the tensor in the GPU
np.random.seed(123)
batchsize, maps, h, w = 1, 1, 5, 5
data = gpuarray.to_gpu(np.random.randint(0, 9, (batchsize, maps, h, w)).astype(np.float32))
print(data)
[[[[2. 2. 6. 1. 3.]
[6. 1. 0. 1. 0.]
[0. 3. 4. 0. 0.]
[4. 1. 7. 3. 2.]
[4. 7. 2. 4. 8.]]]]
slc = Slice()[:, :, 1:-1, 1:-1]
print(slc(data))
[[[[1. 0. 1.]
[3. 4. 0.]
[1. 7. 3.]]]]