【问题标题】: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() 是否会自动切割额外的权重部分?还是有什么问题和更新的重量混淆了?

【问题讨论】:

    标签: python tensorflow keras


    【解决方案1】:

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

    您可能正在寻找带有参数by_name=True (documentation) 的load_weights 方法

    【讨论】:

    • 谢谢它的工作,我确定重量没有混淆。
    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 2011-06-12
    • 2021-05-07
    • 2020-11-13
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多