Slice

Описание

Info

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

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

Данный модуль реализует операцию среза тензора данных.

Инициализация

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.]]]]