# torch.Size([1, 2, 256, 256]) # (Pdb) pp data['hint_B'].max() # tensor(0., device='cuda:0') # (Pdb) pp data['hint_B'].min() # tensor(0., device='cuda:0') # (Pdb) pp data['mask_B'].size() # torch.Size([1, 1, 256, 256]) # (Pdb) pp data['mask_B'].min() # tensor(-0.5000, device='cuda:0') # (Pdb) pp data['mask_B'].max() # tensor(-0.5000, device='cuda:0') model.set_input(data) model.test(True) # True means that losses will be computed visuals = util.get_subset_dict(model.get_current_visuals(), to_visualize) psnrs[i, pp] = util.calculate_psnr_np(util.tensor2im(visuals['real']), util.tensor2im(visuals['fake'])) save_images(webpage, visuals, img_path, aspect_ratio=opt.aspect_ratio, width=opt.display_winsize) if i % 5 == 0: print('processing (%04d)-th image... %s' % (i, img_path)) if i == opt.how_many - 1:
def select_photos(): to_visualize = ['gray', 'real', 'fake_reg', 'mask', 'hint'] opt.load_model = True opt.num_threads = 1 opt.batch_size = 1 opt.display_id = -1 opt.phase = 'val' opt.serial_batches = True opt.aspect_ratio = 1. model = create_model(opt) model.setup(opt) # tensor_image = tensor_image.cuda() sample_ps = 0.03125 data_raw = [None] * 4 # loader = transforms.Compose(transforms.ToTensor()) # raw_image = Image.open(args.input) # # tensor_image = TF.to_tensor(raw_image) # tensor_image = loader(raw_image.float()) # tensor_image = raw_image.unsqueeze(0) # data_raw[0] = tensor_image.cuda() # print(opt.input) tensor_image = Image.open(opt.input).convert('RGB') tensor_image = tensor_image.resize((opt.loadSize, opt.loadSize)) tensor_image = ToTensor()(tensor_image).unsqueeze(0) data_raw[0] = tensor_image.cuda() # data_raw[0] = util.crop_mult(data_raw[0], mult=8) data = util.get_colorization_data(data_raw, opt, ab_thresh=0., p=sample_ps) model.set_input(data) # model.eval() model.test(True) # gets the visuals from the model global visuals visuals = util.get_subset_dict(model.get_current_visuals(), to_visualize) # output images raw_image = Image.fromarray(util.tensor2im(visuals['real'])) image = raw_image.resize((512, 512), Image.ANTIALIAS) image = ImageTk.PhotoImage(image) label = tk.Label(text="Original Image", compound='top', image=image) label.photo = image # assign to class variable to resolve problem with bug in `PhotoImage` label.grid(row=1, column=1) all_labels.append(label) raw_image = Image.fromarray(util.tensor2im(visuals['hint'])) # lab_raw_image = util.rgb2lab(raw_image, opt) image = raw_image.resize((512, 512), Image.ANTIALIAS) image = ImageTk.PhotoImage(image) label = tk.Label(image=image, text="Hint Image", compound='top') label.bind("<Button-1>", lambda e: choose_colour()) label.photo = image label.grid(row=1, column=3) all_labels.append(label) raw_image = Image.fromarray(util.tensor2im(visuals['fake_reg'])) image = raw_image.resize((512, 512), Image.ANTIALIAS) image = ImageTk.PhotoImage(image) label = tk.Label(image=image, text="Colourised Image", compound='top') label.bind("<Button-1>", lambda e: choose_colour()) label.photo = image label.grid(row=1, column=5) all_labels.append(label) original = Image.open(opt.input) original = original.resize((opt.loadSize, opt.loadSize)) original = np.asarray(original) label = tk.Label(text="PSNR Numpy: " + str( util.calculate_psnr_np(original, util.tensor2im(visuals['fake_reg'])))) label.grid(row=4, column=1) all_labels.append(label) label = tk.Label( text="MSE : " + str(util.calculate_mse(original, util.tensor2im(visuals['fake_reg'])))) label.grid(row=4, column=3) all_labels.append(label) label = tk.Label( text="MSE : " + str(util.calculate_mae(original, util.tensor2im(visuals['fake_reg'])))) label.grid(row=4, column=5) all_labels.append(label)