首页 > 解决方案 > 将权重设置为具有附加层的另一个模型

问题描述

我试图更新 Keras 模型中的权重(让它成为模型 A)。

权重来自另一个模型(模型 B-它是模型 A 的扩展,最后有两个额外的层),该模型处于训练循环过程(train_on_batch)中,我使用以下方法更新权重:

modelA.set_weights(modelB.get_weights())

令人惊讶的是,即使网络的架构不同,它也能正常工作(进程运行)。这怎么可能?set_weights() 是否会自动切割额外的权重部分?或者有什么问题和更新的重量混淆了?

标签: pythontensorflowkeras

解决方案


似乎该set_weights方法加载了关于图层名称的浮点列表。

在此处输入图像描述

您可能正在寻找的是load_weights带有参数的方法by_name=True文档


推荐阅读