千家信息网

Pytorch如何加载部分预训练模型的参数

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要为大家展示了"Pytorch如何加载部分预训练模型的参数",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Pytorch如何加载部分预训练模型的参
千家信息网最后更新 2025年01月18日Pytorch如何加载部分预训练模型的参数

这篇文章主要为大家展示了"Pytorch如何加载部分预训练模型的参数",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Pytorch如何加载部分预训练模型的参数"这篇文章吧。

直接加载预选脸模型

如果我们使用的模型和预训练模型完全一样,那么我们就可以直接加载别人的模型,还有一种情况,我们在训练自己模型的过程中,突然中断了,但只要我们保存了之前的模型的参数也可以使用下面的代码直接加载我们保存的模型继续训练,不用从头开始。

model=DPN(*args, **kwargs)model.load_state_dict(torch.load("DPN.pth"))

这样的加载方式是基于Pytorch使用的模型存储方法:

torch.save(DPN.state_dict(), "DPN.pth")

加载部分预训练模型参数

其实大多数时候我们根据自己的任物所提出的模型是在一些公开模型的基础上改变而来,其中公开模型的参数我们没有必要在从头开始训练,只要加载其训练好的模型参数即可,这样有助于提高训练的准确率和我们模型的泛化能力。

 model = DPN(num_init_features=64, k_R=96, G=32, k_sec=(3,4,20,3), inc_sec=(16,32,24,128), num_classes=1,decoder=args.decoder) http = {'url': 'http://data.lip6.fr/cadene/pretrainedmodels/dpn92_extra-b040e4a9b.pth'} pretrained_dict=model_zoo.load_url(http['url']) model_dict = model.state_dict() pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}#filter out unnecessary keys  model_dict.update(pretrained_dict) model.load_state_dict(model_dict) model = torch.nn.DataParallel(model).cuda()

因为需要删除预训练模型中不匹配的的键,也就是层的名字。

以上是"Pytorch如何加载部分预训练模型的参数"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

模型 训练 参数 部分 内容 篇文章 从头 学习 帮助 必要 不用 也就是 代码 准确率 名字 基础 情况 方式 方法 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中学生网络安全知识竞赛考试 威寻网络技术有限公司电话 计算机网络技术答辩问题 雅安亮戈网络技术有限公司 vba远程服务器怎么复制到本地 网络安全等级保护先进经验 实时数据库组成 管理服务器的机器 ygo简中服务器端口 管理平台module服务器 搭建服务器需要多少流量 云丁网络技术有限公司上市 软件开发生命周期主要步骤 梦幻服务器事件 未来之役游戏内服务器无法更改 lol服务器网络问题 软件开发流程ppt课件 最近几年网络安全的市场规模 中国科学引文数据库能查到传记吗 c 数据库查询语句 数据库触发器不允许学号重复 软件开发定制的报价 舆情数据库 笔记本架设虚拟机服务器很卡 网站服务器大小有什么英雄 域名网站服务器直接的关系 虹口区网络技术咨询诚信服务 湖北迁选互联网科技有限公司 服务器到路由器网通 红骷髅网络安全团队
0