Инициализация и обновление ядра в сверточном слое в керасе - PullRequest
0 голосов
/ 06 мая 2019

Я хочу инициализировать ядро ​​уровня свертки сети, которое делает вывод симметричным в обучении.Поэтому я пытался инициализировать ядро ​​следующим образом:

def my_initkernel(shape, dtype=None):
    i1 = K.random_normal(shape, dtype=dtype)
    s = list(shape)
    channelsize = s[2]
    out1 = i1[:,:,0:int(channelsize/2),:]
    out= K.concatenate([out1, out1], axis=-2)
    outtranspose = (0.5)*K.permute_dimensions(out,(1,0,2,3))
    out = (0.5)*out

    return out + outtranspose

output= Conv2D(filters=1, kernel_size=9,kernel_initializer=my_initkernel,  ...)

Мне нужно, чтобы выходные данные сети были симметричными при обучении.Можно ли в любом случае обновить ядро ​​в обучении, чтобы сохранить симметрию, заданную в my_initkernel в керасе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...