将权重设置为具有附加层的另一个模型
Posted
技术标签:
【中文标题】将权重设置为具有附加层的另一个模型【英文标题】:Setting weights to model from another one with additional layers 【发布时间】:2019-09-27 14:42:40 【问题描述】:我试图更新 Keras 模型中的权重(让它成为模型 A)。
权重来自另一个模型(模型 B-它是模型 A 的扩展,最后有两个额外的层),该模型正在训练循环过程中(train_on_batch),我使用方法更新权重:
modelA.set_weights(modelB.get_weights())
令人惊讶的是,即使网络架构不同,它也能正常工作(进程运行)。这怎么可能? set_weights() 是否会自动切割额外的权重部分?还是有什么问题和更新的重量混淆了?
【问题讨论】:
【参考方案1】:似乎set_weights
方法加载了关于图层名称的浮点列表。
您可能正在寻找带有参数by_name=True
(documentation) 的load_weights
方法
【讨论】:
谢谢它的工作,我确定重量没有混淆。以上是关于将权重设置为具有附加层的另一个模型的主要内容,如果未能解决你的问题,请参考以下文章