目录
本文重点介绍了怎么在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.苦苦思索提高准确率的办法,请不吝赐教,谢谢!