Skip to content

Replicate

Описание

Info

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

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

Этот модуль выполняет операцию репликации выхода предыдущего слоя и используется для разветвления нейросети при её построении с помощью Sequential.

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

def __init__(self, times, name=None):

Параметры

Параметр Возможные типы Описание По умолчанию
name str Имя слоя None
times int Сколько раз копировать выход предыдущего слоя – 

Пояснения

-

Примеры

Необходимые импорты.

import numpy as np
from PuzzleLib.Backend import gpuarray
from PuzzleLib.Modules import Replicate

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.]]]]
repl = Replicate(times=3)
print(repl(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.]]]],
[[[[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.]]]],
[[[[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.]]]]