我见过这样的代码:
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。希望有人能帮我。
发布于 2018-12-05 17:06:01
Keras的Embedding层子类化了Layer类(每个Keras层都会这样做)。weights属性是在这个基类中实现的,所以每个子类都允许通过weights参数设置这个属性。这也是为什么在文档或Embedding层本身的实现中找不到它的原因。
你可以检查基本层的实现权重(Ctrl +F代表‘here’)。
https://stackoverflow.com/questions/53627251
复制相似问题