Пример #1
0
                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')