pth文件的查看

本文介绍了一种调参策略:查看.pth文件了解模型权重,然后调整AdamW优化器的正则项以优化模型的准确率和收敛速度。通过在CPU环境下加载.pth文件并打印权重信息,作者尝试将正则项从5E-2改为5E-3,并等待训练结果验证效果。

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

目录

前言

一、查看pth文件中参数的代码

 二、调整AdamW优化器正则项

总结


本文重点介绍了怎么在cpu环境下查看.pth文件,然后提出了一种基于权重文件调参提高准确率(acc)的思路。


前言

在训练模型找准确率最高的权重的过程中,会生成.pth文件,我想根据这个文件里面的权重的值,去调整本模型的AdamW优化器的正则项的值,已提升模型收敛的速度以及准确率。


一、查看pth文件中参数的代码

在cpu环境:

import torch

pthfile = r'./model-135.pth'            #.pth文件的路径
model = torch.load(pthfile, torch.device('cpu'))    #设置在cpu环境下查询
print('type:')
print(type(model))  #查看模型字典长度
print('length:')
print(len(model))
print('key:')
for k in model.keys():  #查看模型字典里面的key
    print(k)
print('value:')
for k in model:         #查看模型字典里面的value
    print(k,model[k])

运行结果:


 

 

 

 

 

 

 

 

(输出了所有层的权重,太多,此处省略一下)

 

 二、调整AdamW优化器正则项

 

pg = [p for p in model.parameters() if p.requires_grad]
optimizer = optim.AdamW(pg, lr = args.lr, weight_decay=5E-3)

 将原来的正则项5E-2调整为5E-3,提交服务器进行训练,若跑出来准确率提高,则说明此调参有效(待更新,刚刚提交的)。

总结

本文分享的是一种调参思路:通过查看已有的准确率最高的权重文件.pth,根据文件里面的权重值,调整本模型的AdamW优化器的正则项的值,以提升模型收敛的速度以及准确率。

P.S.苦苦思索提高准确率的办法,请不吝赐教,谢谢!

### 解决.pth文件打开时出现的`No module named 'torch'`错误 当尝试加载`.pth`文件并遇到`ModuleNotFoundError: No module named 'torch'`错误时,这通常意味着当前使用的Python环境未能正确识别或安装PyTorch库。此问题可以通过多种方式来解决。 #### 方法一:确认PyTorch已正确安装于目标环境中 确保所操作的命令行终端确实激活了含有PyTorch包的目标Conda虚拟环境。如果未处于正确的环境下,则任何对于PyTorch的操作都将失败。可以利用`conda activate your_env_name`切换至指定环境[^5]。 #### 方法二:验证Python解释器配置无误 在IDE(如PyCharm)内工作的情况下,需保证项目设置里选用的是包含所需依赖项(即PyTorch)的那个特定Conda环境作为默认Python解释器。通过调整IDE内的解释器设定可有效规避此类模块缺失引发的问题。 #### 方法三:检查.pth文件保存位置及其关联性 有时模型权重文件(.pth)可能被存储在一个特殊结构化的目录树之下,在这种情况下,除了要保证PyTorch本身可用之外,还需注意该.pth文件所在的位置是否符合预期以及是否有其他自定义模块同样需要存在于PYTHONPATH中以便成功反序列化对象实例。例如,若存在名为`parse_config.py`这样的辅助脚本参与到了整个流程当中,则应考虑将其加入到系统的搜索路径列表之中[^4]: ```python import sys sys.path.append('/path/to/directory/containing/parse_config') ``` 以上措施有助于确保所有必要的组件均能顺利定位与加载。 #### 方法四:处理旧版兼容性问题 针对某些较老版本的代码仓库或是预训练模型,可能会因为API变更而无法直接适用最新发行版的PyTorch。此时应当参照官方文档说明选择适当的历史标签页获取对应时期的安装指南,并据此准备相匹配的基础运行时环境。另外,部分早期实现或许会涉及到现已废弃的功能接口——比如`torch._six`——这时则有必要查阅社区反馈寻找替代方案或者自行适配新标准下的等效表达形式[^2]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值