权重从一个模型转移到另一个具有不同层架构的模型

dum*_*der 5 conv-neural-network keras

我有一个三层的 CNN 网络,拟合模型后,权重保存在磁盘上。第二次加载权重,但这次模型增加了一层。所以现在是4层网络。是否可以使用不同的架构传输模型权重?如果是,那么如何?我正在使用 keras 进行开发。

对我来说,它显示错误:“您正在尝试将包含 3 层的权重文件加载到具有 4 层的模型中”。

提前致谢!

小智 3

我还没有尝试过这个,但通过使用layer.get_weights()和layer.set_weights(weights)方法应该是可能的。

weights = old_model_layer.get_weights()
new_model_layer.set_weights(weights)
Run Code Online (Sandbox Code Playgroud)

请参阅https://keras.io/layers/about-keras-layers/了解更多信息。