我正在尝试将Keras 1.0模型中的权重加载到我创建的Keras 2.0模型中。我确信模型架构完全相同。我遇到的问题是load_weights()函数正在加载所有权重。
当我将权重打印到原始模型(通过load_model加载)和带有load_weights()的新模型的文本文件中时,后者缺少许多条目,实际上是不同的。当准确度较低时,这也会在进行预测时显示出来。
此问题仅发生在我的LSTM图层中。嵌入层很好,Dense层也很好。
有什么想法吗?我不能使用load_model(),因为原始保存的模型是在keras 1.0中完成的,我需要使用keras 2.0
编辑更多:
我应该注意到我认为问题是内部状态没有被加载。让我解释一下。当我在每个图层上使用get_weights()并将其打印到终端或文件时,原始模型会输出更大的矩阵。
在使用load_weights然后get_weights并打印后,权重矩阵缺少许多元素。我认为这是内部状态。
问题是存储了已编译图形的参数。如果可以的话,我认为只是移动重量并继续训练让它赶上(可能1-2个时期)是安全的。
GL