【发布时间】:2018-12-09 04:16:54
【问题描述】:
我正在尝试将权重从 Keras 1.0 模型加载到我创建的 Keras 2.0 模型中。我确信模型架构是完全一样的。我遇到的问题是 load_weights() 函数正在加载所有权重。
当我从原始模型(通过 load_model 加载)和使用 load_weights() 的新模型将权重打印到文本文件时,后者缺少许多条目并且实际上是不同的。这在进行预测时也会显示出来,因为准确性较低。
这个问题只发生在我的 LSTM 层中。嵌入层很好,密集层也很好。
有什么想法吗?我不能使用 load_model(),因为原始保存的模型是在 keras 1.0 中完成的,我需要使用 keras 2.0
编辑更多:
我应该注意,我认为问题在于未加载内部状态。让我解释一下。当我在每一层上使用 get_weights() 并在终端或文件中打印它时,原始模型会输出一个更大的矩阵。
使用 load_weights 然后 get_weights 并打印权重矩阵缺少许多元素。我认为这是内部状态。
【问题讨论】:
-
您是否使用名称保存模型?这可能会有所帮助。
-
你能再解释一下吗?每个层都有默认命名。