模型参数加载后继续训练或测试,准确率下降很多或者一直不变

阅读: 评论:0

模型参数加载后继续训练或测试,准确率下降很多或者一直不变

模型参数加载后继续训练或测试,准确率下降很多或者一直不变

1、请首先检查自己是不是没有将原来的模型参数成功导入

  • 你以为你导入成功了,但是注意,你load_state_dict时,如果用了strict=False是不会报错的,所以如果你没有仔细核对参数名是否正确(主要针对有使用预训练模型参数的情况,这时参数名称容易与你的模型有出入)
  • 仔细检查自己的模型是不是按checkpoint['net']格式存储的,如果是,你直接导入checkpoint肯定不行啊

2、如果训练时一直不变,注意应该加载模型参数前就定义优化器

参考【python模型保存之后,再恢复训练如何做】_权侑莉老婆的博客-CSDN博客

3、加载后准确率很低,尤其是测试验证集准确率时准确率都很低,多半是因为标签问题。

先要检查自己的标签是否是固定的,可能会出现两次训练标签不一致的情况。

4、想要继续训练时,完全与之前保持相同的走势,需要加载优化器参数、步长scheduler、epoch,可参考PyTorch实现断点继续训练 - 知乎

5、构造optim对象时可以先做好模型的cuda()操作(这个我认为不一定,但是可以参考)

Pytorch 深度学习 模型训练 断点继续训练时损失函数恶化或与断点差异较大_周博士的博客-CSDN博客

6、测试图片时记得把模型调成eval()模型

7、如果要放到多gpu上训练,使用parallel.DistributedDataParallel前一定要加载好模型参数,(因为DDP后模型参数都加上了modules,这样加载参数时如果使用strict=False就自动没有加载了)

本文发布于:2024-02-02 22:16:35,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688339346801.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:准确率   模型   加载   参数   测试
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23