import os from options.test_options import TestOptions from data import CreateRecursiveDataLoader from models import create_model from util.visualizer import Visualizer from util import html import subprocess if __name__ == '__main__': 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 = CreateRecursiveDataLoader(opt) dataset = data_loader.load_data() model = create_model(opt) visualizer = Visualizer(opt) # create website web_dir = os.path.join(opt.results_dir, opt.name, '%s_%s' % (opt.phase, opt.which_epoch)) webpage = html.HTML(web_dir, 'Experiment = %s, Phase = %s, Epoch = %s' % (opt.name, opt.phase, opt.which_epoch)) # test print(dataset.name()) for i, data in enumerate(data_loader): if i >= opt.how_many: break model.set_input(data) model.test() visuals = model.get_current_visuals() img_path = model.get_image_paths() print('%04d: process image... %s' % (i, img_path)) ims = visualizer.save_images(webpage, visuals, img_path, aspect_ratio=opt.aspect_ratio) print(dataset.name()) if dataset.name() == 'RecursiveDatasetDataLoader': last_image = "results/woodscaled_4_pix2pix/test_latest/images/" + ims[1] next_image = "recursive/frame{:04d}".format(i+1) cmd = ("/bin/cp", last_image, next_image) process = subprocess.Popen(cmd, stdout=subprocess.PIPE) output, error = process.communicate() dataset.append(next_image) webpage.save()