keras卷积层中的内核初始化和更新内核

时间:2019-05-06 18:34:46

标签: python-3.x tensorflow keras

我想初始化网络卷积层的内核,使训练中的输出对称。因此,我尝试按以下方式初始化内核:

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,  ...)

我需要网络的输出在训练时对称。无论如何,我可以在培训中更新内核以保持keras中的my_initkernel中给出的对称性吗?

0 个答案:

没有答案