dist = ((y.data * 256).floor() - (t.data * 256).floor()).pow(2.).sum() running_dist += dist # print('batch{:3d} dist: {:.4f}'.format(batch, dist)) # print('\n') # for i in range(0,8): # print((y.data[i]-t.data[i]).pow(2).mean()) if epoch % 15 == 0: np_y = (y * 256).data.transpose(1, 3).transpose( 1, 2).squeeze().cpu().numpy() for i, image in enumerate(np_y): cv2.imwrite( './result/{}/{:d}.bmp'.format(phase, idx[i]), image) mse = running_dist / (y.data.cpu().numpy().size * batch) psnr = 10 * ((255 * 255 / mse).log() / tensor(10.).log().cuda()) print('running psnr: {:.4f}\n'.format(psnr)) torch.save(module.state_dict(), './autosave/module.pth') torch.save(optimizer.state_dict(), './autosave/optimizer.pth') torch.save(optimizer_lam.state_dict(), './autosave/optimizer_lam.pth') if epoch % 50 == 0: torch.save(module.state_dict(), './pth/module_iter_{:d}.pth'.format(iterations)) print('saved - pth/module_iter_{:d}.pth'.format(iterations)) iterations += 1 torch.save(module.state_dict(), 'module.pth')