Layers.Dense中的“ kernel_initializer”属性和“ kernel”属性之间有什么区别?

时间:2019-07-15 15:58:35

标签: python tensorflow

在TensorFlow网站上的tf.layers.Dense的{​​{3}}中,它列出了kernel_initializerkernel作为其属性。据我了解,kernel_initializer是一个参数,您可以在其中传递权重矩阵。但是,kernel也是一个权重矩阵。

这两者之间有什么区别?为什么初始化权重时会选择一个呢?

1 个答案:

答案 0 :(得分:0)

简而言之,您可以将kernel_initializer用于快捷方式的初始化,包括零,一,random_normal等(您可以看到完整列表here)。

kernel将接受设定的权重以用作内核。虽然kernel_initializer将接受function以便框架调用以初始化权重。这些函数之所以相似的原因是,当您将矩阵传递给kernel_initializer时,它会转换为constant初始化程序,其作用与将相同矩阵传递给kernel参数完全相同。