使用预训练嵌入,我们可以将它们指定为 keras 嵌入层中的权重。要使用多个嵌入,指定多个嵌入层是否合适? IE。
embedding_layer1 = Embedding(len(word_index) + 1,
EMBEDDING_DIM,
weights=[embedding_matrix_1],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)
embedding_layer2 = Embedding(len(word_index) + 1,
EMBEDDING_DIM,
weights=[embedding_matrix_2],
input_length=MAX_SEQUENCE_LENGTH,
trainable=False)
model.add(embedding_layer1)
model.add(embedding_layer2)
This建议将它们总结起来并将它们表示为一个层,这不是我所追求的。
最佳答案
我遇到了同样的问题。是不是因为 keras.Embedding 层在内部使用某种对象(我们称之为 x_object),它在 keras.backend 全局 session K 中被初始化。
因此,第二个嵌入层会抛出一个异常,表示 x_object 名称已存在于图中并且无法再次添加。
关于tensorflow - keras 中的多个嵌入层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49805424/