RuntimeError: Error(s) in loading state_dict for ft_net:

本文详细解析了在使用PyTorch加载预训练模型时遇到的RuntimeError问题,主要原因是模型结构变更导致的state_dict不匹配。文章提供了两种解决方案:一是调整当前代码以兼容预训练模型的结构;二是重新训练模型,使其结构与当前代码相匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:
RuntimeError: Error(s) in loading state_dict for ft_net:
Unexpected key(s) in state_dict: “classifier0.add_block.0.weight”, "classifi…
Missing key(s) in state_dict: “classifier.add_block.0.weight”, "classifier.a…

一、网上百度到了一些办法,但是不适用我的。
https://blog.youkuaiyun.com/wchzh2015/article/details/85254215

二、我出现这个错误的原因是:
我在加载之前的模型,想进行再次训练,但是model.load_state_dict(torch.load(“要加载的路径”))这一步就开始报上面的错误。
原因是我的模型之前加了 PCB,但是现在重新训练的代码要求不用PCB,导致之前的model不适用现在的代码环境出错。

解决:要么将现在的代码PCB那句话改成用PCB,
要么将之前的model重新训练不加PCB的,适合现在的代码。

三:反思;错误出现的原因是因为要加载的预训练模型跟我的要接着训练的代码不匹配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值