Keras嵌入,“权重”参数在哪里?

时间:2018-12-05 07:30:06

标签: python tensorflow keras

我看过如下代码:

embed_word = Embedding(params['word_voc_size'], params['embed_dim'], weights=[word_embed_matrix], input_length = params['word_max_size']
                        , trainable=False, mask_zero=True)

当我在Keras网站[https://faroit.github.io/keras-docs/2.1.5/layers/embeddings/][1]

中查找文档时

我没有看到权重参数,

keras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

所以我很困惑,为什么我们可以使用Keras文档中未定义的参数权重?

我的keras版本是2.1.5。希望有人能帮助我。

1 个答案:

答案 0 :(得分:3)

Keras的Embedding层是Layer类的子类(每个Keras层都这样做)。 weights属性是在此基类中实现的,因此每个子类都可以通过weights参数设置此属性。这也是为什么您无法在文档或Embedding层本身的实现中找到它的原因。

您可以检查基本层实现here(对于“ weight”,按Ctrl + F)。