当前位置: 首页 > news >正文

Pytorch加载模型不完全匹配 只加载部分参数权重 load

加载模型不完全匹配

model.load_state_dict(torch.load(weight_path), strict=False)

当权重中的key和网络中匹配就加载,不匹配就跳过

如果strict是True,那必须完全匹配,不然就报错

默认是True


但是注意,如果是像英文模型迁移到中文,改了class num的话,例如由26改为3600,这时模型不匹配用它是解决不了的,因为此时模型的key名字是对应的上的,只是权重的size不同 看

只加载部分参数权重

如果发生上述情况的话,那就需要把加载到的模型的中,不匹配的那几项删掉,然后加载其他项

x = torch.load(self.weight)
del x['char_recognizer.classifier.bias']
del x['char_recognizer.classifier.weight']
self.load_state_dict(x, strict=False)

或者

# Use when some parts of pretrained model are not needed
# pretrained_dict = checkpoint['state_dict']
# model_dict = model.state_dict()

# # 1. filter out unnecessary keys
# pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# # 2. overwrite entries in the existing state dict
# model_dict.update(pretrained_dict) 
# # 3. load the new state dict
# model.load_state_dict(model_dict)


 

相关文章:

  • nn.CrossEntropyLoss的ignore_index标签(CE loss)
  • 装系统时的UEFI模式
  • Pytorch dataloader中的num_workers (选择最合适的num_workers值)
  • rsync数据传输
  • Pytorch torch.utils.data.DataLoader(二) —— pin_memory锁页内存 drop_last num_works
  • Pytorch分布式训练/多卡训练(三) —— Model Parallel 并行
  • Pytorch backend 通信后端
  • PyTorch多卡/多GPU/分布式DPP的基本概念(noderanklocal_ranknnodesnode_ranknproc_per_nodeworld_size)
  • Pytorch函数keepdim=True
  • Python opencv putText()中文乱码问题
  • Python类的__call__方法
  • Python处理XML(ElementTree)
  • Pytorch为不同层设置不同的学习率(全局微调)
  • PIL Image和opencv读入图片相互转化
  • Python 星号表达式*(starred expression / unpack / 解包)
  • hexo+github搭建个人博客
  • 2017-09-12 前端日报
  • Apache Pulsar 2.1 重磅发布
  • CAP理论的例子讲解
  • DataBase in Android
  • Fundebug计费标准解释:事件数是如何定义的?
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • leetcode98. Validate Binary Search Tree
  • linux学习笔记
  • ng6--错误信息小结(持续更新)
  • SpringBoot 实战 (三) | 配置文件详解
  • Webpack 4x 之路 ( 四 )
  • 测试开发系类之接口自动化测试
  • 翻译--Thinking in React
  • 前端技术周刊 2019-01-14:客户端存储
  • 十年未变!安全,谁之责?(下)
  • 首页查询功能的一次实现过程
  • 为什么要用IPython/Jupyter?
  • 与 ConTeXt MkIV 官方文档的接驳
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #ifdef 的技巧用法
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (007)XHTML文档之标题——h1~h6
  • (12)目标检测_SSD基于pytorch搭建代码
  • (差分)胡桃爱原石
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (算法)N皇后问题
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • .NET Core 2.1路线图
  • .net wcf memory gates checking failed
  • .NET 常见的偏门问题
  • .net 调用php,php 调用.net com组件 --
  • .Net语言中的StringBuilder:入门到精通
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @Autowired标签与 @Resource标签 的区别
  • [100天算法】-实现 strStr()(day 52)
  • [1204 寻找子串位置] 解题报告
  • [ai笔记9] openAI Sora技术文档引用文献汇总