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

Joh*_*nny 5 python keras tensorflow

我看过这样的代码如下:

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)
Run Code Online (Sandbox Code Playgroud)

当我在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)
Run Code Online (Sandbox Code Playgroud)

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

我的keras版本是2.1.5。希望可以有人帮帮我。

sdc*_*cbr 5

Keras Embedding层对Layer类进行子类化(每个Keras层都执行此操作)。该weights属性在此基类中实现,因此每个子类都可以通过weights参数设置此属性。这也是为什么您不会在文档或Embedding图层本身的实现中找到它的原因。

您可以在此处检查基本层的实现(“ weight”为Ctrl + F)。