我见过这样的代码:
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。希望有人能帮助我。
最佳答案
Keras 的 Embedding
层是 Layer
类的子类(每个 Keras 层都这样做)。 weights
属性是在这个基类中实现的,所以每个子类都允许通过 weights
参数设置这个属性。这也是为什么您不会在文档或 Embedding
层本身的实现中找到它的原因。
您可以检查基础层实现 here (Ctrl + F 表示“重量”)。
关于python - Keras 嵌入, "weights"参数在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53627251/