将权重设置为具有附加层的另一个模型
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
方法
【讨论】:
谢谢它的工作,我确定重量没有混淆。以上是关于将权重设置为具有附加层的另一个模型的主要内容,如果未能解决你的问题,请参考以下文章
jQuery - 如果所有子元素都具有相同的类,则将附加类添加到页面上的另一个元素
附加类型实体失败,因为相同类型的另一个实体已经具有相同的主键值。
如何从列表中的多个字典附加到具有“内部”字典特定部分的另一个列表?
具有未在模型中定义的附加属性的 NSManagedObject 子类