Slice¶
Описание¶
Данный модуль реализует операцию среза тензора данных.
Инициализация¶
def __init__(self, slc=None, name=None):
Параметры
Параметр | Возможные типы | Описание | По умолчанию |
---|---|---|---|
slc | list | Список объектов slice | None |
name | str | Имя слоя | None |
Пояснения
slc
- для удобства можно вместо списка объектов slice задавать срез, как для numpy-массивов (см. пример).
Примеры¶
Необходимые импорты.
import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Modules import Slice
Info
gpuarray
необходим для правильного размещения тензора на 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.]]]]