在写pytorch代码时,遇到问题:加载预训练模型时在验证集上测试的psnr结果与训练时验证集的psnr差异特别大。
源代码:
pretrained_dict = torch.load('epochG_515.pth')
net.load_state_dict(pretrained_dict)
net = prepare(net)
valdata = Data(root=os.path.join(args.dir_data, args.data_val), args=args, train=False)
valset = DataLoader(valdata, batch_size=1, shuffle=False, num_workers=1)
val_psnr = 0
val_ssim = 0
with torch.no_grad():
timer_test = util.timer()
for batch, (lr, hr, filename) in enumerate(valset):
lr, hr = prepare(lr), prepare(hr)
sr = net(lr)
print(sr.shape, hr.shape)
val_psnr = val_psnr + cal_psnr(hr[0].data.cpu(), sr[0].data.cpu())
val_ssim = val_ssim + cal_ssim(hr[0].data.cpu(), sr[0].data.cpu())
print("Test psnr: {:.3f}".format(val_psnr / (len(valset))))
print('Forward: {:.2f}s\n'.format(timer_test.toc()))
print(val_ssim /
版权声明:本文为wangchy29原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。