| 143 | D.save_weights(os.path.join(checkpoint_dir, 'd.h5')) |
| 144 | |
| 145 | def evaluate(): |
| 146 | ###====================== PRE-LOAD DATA ===========================### |
| 147 | # train_hr_img_list = sorted(tl.files.load_file_list(path=config.TRAIN.hr_img_path, regx='.*.png', printable=False)) |
| 148 | # train_lr_img_list = sorted(tl.files.load_file_list(path=config.TRAIN.lr_img_path, regx='.*.png', printable=False)) |
| 149 | valid_hr_img_list = sorted(tl.files.load_file_list(path=config.VALID.hr_img_path, regx='.*.png', printable=False)) |
| 150 | valid_lr_img_list = sorted(tl.files.load_file_list(path=config.VALID.lr_img_path, regx='.*.png', printable=False)) |
| 151 | |
| 152 | ## if your machine have enough memory, please pre-load the whole train set. |
| 153 | # train_hr_imgs = tl.vis.read_images(train_hr_img_list, path=config.TRAIN.hr_img_path, n_threads=32) |
| 154 | # for im in train_hr_imgs: |
| 155 | # print(im.shape) |
| 156 | valid_lr_imgs = tl.vis.read_images(valid_lr_img_list, path=config.VALID.lr_img_path, n_threads=32) |
| 157 | # for im in valid_lr_imgs: |
| 158 | # print(im.shape) |
| 159 | valid_hr_imgs = tl.vis.read_images(valid_hr_img_list, path=config.VALID.hr_img_path, n_threads=32) |
| 160 | # for im in valid_hr_imgs: |
| 161 | # print(im.shape) |
| 162 | |
| 163 | ###========================== DEFINE MODEL ============================### |
| 164 | imid = 64 # 0: 企鹅 81: 蝴蝶 53: 鸟 64: 古堡 |
| 165 | valid_lr_img = valid_lr_imgs[imid] |
| 166 | valid_hr_img = valid_hr_imgs[imid] |
| 167 | # valid_lr_img = get_imgs_fn('test.png', 'data2017/') # if you want to test your own image |
| 168 | valid_lr_img = (valid_lr_img / 127.5) - 1 # rescale to [-1, 1] |
| 169 | # print(valid_lr_img.min(), valid_lr_img.max()) |
| 170 | |
| 171 | G = get_G([1, None, None, 3]) |
| 172 | G.load_weights(os.path.join(checkpoint_dir, 'g.h5')) |
| 173 | G.eval() |
| 174 | |
| 175 | valid_lr_img = np.asarray(valid_lr_img, dtype=np.float32) |
| 176 | valid_lr_img = valid_lr_img[np.newaxis,:,:,:] |
| 177 | size = [valid_lr_img.shape[1], valid_lr_img.shape[2]] |
| 178 | |
| 179 | out = G(valid_lr_img).numpy() |
| 180 | |
| 181 | print("LR size: %s / generated HR size: %s" % (size, out.shape)) # LR size: (339, 510, 3) / gen HR size: (1, 1356, 2040, 3) |
| 182 | print("[*] save images") |
| 183 | tl.vis.save_image(out[0], os.path.join(save_dir, 'valid_gen.png')) |
| 184 | tl.vis.save_image(valid_lr_img[0], os.path.join(save_dir, 'valid_lr.png')) |
| 185 | tl.vis.save_image(valid_hr_img, os.path.join(save_dir, 'valid_hr.png')) |
| 186 | |
| 187 | out_bicu = scipy.misc.imresize(valid_lr_img[0], [size[0] * 4, size[1] * 4], interp='bicubic', mode=None) |
| 188 | tl.vis.save_image(out_bicu, os.path.join(save_dir, 'valid_bicubic.png')) |
| 189 | |
| 190 | |
| 191 | if __name__ == '__main__': |