我应该在编码器-解码器体系结构中将经过预训练的词嵌入哪里传递?

时间:2019-07-17 19:35:51

标签: machine-learning keras nlp word-embedding machine-translation

我使用MUSE对来自两种不同语言的词嵌入进行了预训练。现在假设我有一个编码器-解码器体系结构。我从其中一种嵌入创建了一个嵌入层。但是我应该在模型中将它传递到哪里?

该模型正在尝试将一种语言翻译成另一种语言。我已经创建了embedding_layer。我在下面的代码中将其传递到哪里?

""" 
model = Model([encoder_inputs, decoder_inputs], decoder_outputs)

# Run training
model.compile(optimizer='rmsprop', loss='categorical_crossentropy') 
model.fit([encoder_input_data, decoder_input_data], decoder_target_data,
          batch_size=batch_size,
          epochs=epochs,
          validation_split=0.2)
"""

1 个答案:

答案 0 :(得分:0)

看看keras的文档:https://keras.io/getting-started/faq/

如果您保存了整个模型,则可以使用命令

加载模型
keras.models.load_model(filepath) 

这是Kera文档中的代码示例:

from keras.models import load_model

model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
del model  # deletes the existing model

# returns a compiled model
# identical to the previous one
model = load_model('my_model.h5')

如果只有权重,则可以使用以下命令:

model.load_weights('my_model_weights.h5')