def display_current_results(self, visuals, epoch, name, save_result): if self.use_html and (save_result or not self.saved): # save images to a html file self.saved = True for label, image_numpy in visuals.items(): img_path = os.path.join(self.img_dir, 'epoch%.3d_%s.png' % (epoch, label)) util.save_image(image_numpy, img_path) # update website webpage = html.HTML( self.web_dir, 'Experiment = CycleGANs, Phase = train, image = %s' % name, reflesh=1) for n in range(epoch, 0, -1): webpage.add_header('epoch [%d]' % n) ims = [] txts = [] links = [] for label, image_numpy in visuals.items(): img_path = 'epoch%.3d_%s.png' % (n, label) ims.append(img_path) txts.append(label) links.append(img_path) webpage.add_images(ims, txts, links, width=self.win_size) webpage.save()
opt = TestOptions().parse() opt.nThreads = 1 # test code only supports nThreads = 1 opt.batchSize = 1 # test code only supports batchSize = 1 opt.serial_batches = True # no shuffle opt.no_flip = True # no flip data_loader = DataLoader(opt) dataset = data_loader.load_data() model = CycleGANModel() model.initialize(opt) visualizer = Visualizer(opt) if __name__ == '__main__': root_dir = os.path.join(opt.result_root_dir, opt.variable) web_dir = os.path.join(root_dir, opt.variable_value, opt.phase) webpage = html.HTML(web_dir, 'Experiment = GAN2C, Phase = test, Epoch = latest') # test for i, data in enumerate(dataset): model.set_input(data) model.test() visuals = model.get_current_visuals() img_path = model.get_image_paths() print('process image... %s' % img_path) visualizer.save_images(webpage, visuals, img_path) short_path = ntpath.basename(''.join(img_path)) test_depth_errors = model.get_depth_errors() visualizer.test_depth_errors(i + 1, short_path, test_depth_errors) webpage.save()