一、如何保存模型参数,优化器参数
假设在某个epoch,我们要保存模型参数,优化器参数以及epoch。
1. 先建立一个字典,保存三个参数:
if steps % 10000 == 0:
file_path = os.path.join(args.weight_dir, 'weights-{:07d}.pth.tar'.format(steps))
state = {
'epoch' :epoch+1,
'state_dict' :model.state_dict(),
'optimizer' : optimizer.state_dict(),
}
torch.save(state, file_path)
其中dir表示保存文件的绝对路径+保存文件名,如'/home/qinying/Desktop/modelpara.pth'
2、
当你想恢复某一阶段的训练(或者进行测试)时,那么就可以读取之前保存的网络模型参数等。
checkpoint = torch.load(dir)
model.load_state_dict(checkpoint['net'])
optimizer.load_state_dict(checkpoint['optimizer'])
start_epoch = checkpoint['epoch'] + 1

本文详细介绍了在PyTorch中如何保存和加载模型参数、优化器参数以及训练过程中的epoch信息,确保模型训练可以从中断处继续,或者在不同设备上进行测试。
7113

被折叠的 条评论
为什么被折叠?



