keras导入weights

本文介绍了Keras中加载模型权重的函数load_weights,重点解析了by_name参数的作用。当by_name为False时,权重根据网络拓扑结构加载,适用于标准预训练模型。而by_name设置为True时,基于layer的名称加载权重,适用于微调或迁移学习场景,尤其在保持原网络主体结构但添加或修改部分层的情况下。
摘要由CSDN通过智能技术生成

         keras源码engine中toplogy.py定义了加载权重的函数:load_weights(self, filepath, by_name=False)

其中默认by_name为False,这时候加载权重按照网络拓扑结构加载,适合直接使用keras中自带的网络模型,如VGG16

VGG19/resnet50等,源码描述如下:

        If `by_name` is False (default) weights are loaded
        based on the network's topology, meaning the architecture
        should be the same as when the weights were saved.
        Note that layers that don't have weights are not taken
        into account in the topological ordering, so adding or
        removing layers is fine as long as they don't have weights.

          若将by_name改为True则加载权重按照layer的name进行,layer的name相同时加载权重,适合用于改变了

模型的相关结构或增加了节点但利用了原网络的主体结构情况下使用,源码描述如下:

        If `by_name` is True, weights are loaded into layers
        only if they share the same name. This is useful

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值