首页 > 解决方案 > 根据预定义的初始化程序,具有相同初始化内核的 Keras 卷积层?

问题描述

是否可以在Keras 中创建一个卷积Conv2D层(he_normalglorot_uniform

换句话说,我想使用 初始化其中一个内核kernel_initializer='he_normal',然后复制并使用该初始化的权重矩阵来初始化所有其他内核,仅在该层中。

以半伪代码方式,这(在概念上类似于)我正在寻找的内容:

n_filters = 64

x = Conv2D(1, 3,... kernel_initializer='he_normal')

he_normal_kernel = *the kernel weight matrix that was just created*  #copy kernel weight matrix 
he_normal_kernels = he_normal_kernel * n_filters #make n_filters copies of that matrix

x = Conv2D(n_filters, 3,... kernel_initializer=he_normal_kernels) # use those as the initialization of our convolutional layer

只要它按预期工作,我对如何实现这一点是公正的。

当我们在这里时,是否有任何内在的理论原因表明这可能是一个坏主意?

谢谢!

标签: pythontensorflowkerasdeep-learningconv-neural-network

解决方案


推荐阅读