在Keras中嵌入预训练模型的问题

时间:2020-03-26 10:11:31

标签: python tensorflow keras

我有一个预先训练的Fasttext模型,我想将其嵌入Keras。

model = Sequential()
model.add(Embedding(MAX_NB_WORDS, 
                    EMBEDDING_DIM, 
                    input_length=X.shape[1],
                    input_length=4,
                    weights=[embedding_matrix],
                    trainable=False))

但是没有用。

我发现很多人在将预先训练的模型嵌入Keras时遇到同样的问题,而他们都没有解决办法。

weightsembeddings_initializer似乎已被弃用。

有没有其他方法可以解决此问题? 预先感谢

1 个答案:

答案 0 :(得分:2)

在Keras的Embedding层中不推荐使用weights参数。

新版本的嵌入层如下所示-

embedding_layer = Embedding(num_words,
                            EMBEDDING_DIM,
                            embeddings_initializer=Constant(embedding_matrix),
                            input_length=MAX_SEQUENCE_LENGTH,
                            trainable=False)

您可以在此处找到最新版本的嵌入层详细信息-Keras Embedding Layer

您可以在此处找到预训练词嵌入的示例-Pretrained Word Embedding