def test(opt): 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 = CreateDataLoader(opt) dataset = data_loader.load_data() dataset_size = len(data_loader) print('#test batches = %d' % (int(dataset_size / len(opt.sort_order)))) visualizer = Visualizer(opt) model = create_model(opt) model.eval() # create webpage if opt.random_seed != -1: exp_dir = '%s_%s_seed%s' % (opt.phase, opt.which_epoch, str(opt.random_seed)) else: exp_dir = '%s_%s' % (opt.phase, opt.which_epoch) web_dir = os.path.join(opt.results_dir, opt.name, exp_dir) if opt.traverse or opt.deploy: if opt.traverse: out_dirname = 'traversal' else: out_dirname = 'deploy' output_dir = os.path.join(web_dir,out_dirname) if not os.path.isdir(output_dir): os.makedirs(output_dir) for image_path in opt.image_path_list: print(image_path) data = dataset.dataset.get_item_from_path(image_path) visuals = model.inference(data) if opt.traverse and opt.make_video: out_path = os.path.join(output_dir, os.path.splitext(os.path.basename(image_path))[0] + '.mp4') visualizer.make_video(visuals, out_path) elif opt.traverse or (opt.deploy and opt.full_progression): if opt.traverse and opt.compare_to_trained_outputs: out_path = os.path.join(output_dir, os.path.splitext(os.path.basename(image_path))[0] + '_compare_to_{}_jump_{}.png'.format(opt.compare_to_trained_class, opt.trained_class_jump)) else: out_path = os.path.join(output_dir, os.path.splitext(os.path.basename(image_path))[0] + '.png') visualizer.save_row_image(visuals, out_path, traverse=opt.traverse) else: out_path = os.path.join(output_dir, os.path.basename(image_path[:-4])) visualizer.save_images_deploy(visuals, out_path) else: webpage = html.HTML(web_dir, 'Experiment = %s, Phase = %s, Epoch = %s' % (opt.name, opt.phase, opt.which_epoch)) # test for i, data in enumerate(dataset): if i >= opt.how_many: break visuals = model.inference(data) img_path = data['Paths'] rem_ind = [] for i, path in enumerate(img_path): if path != '': print('process image... %s' % path) else: rem_ind += [i] for ind in reversed(rem_ind): del img_path[ind] visualizer.save_images(webpage, visuals, img_path) webpage.save()
# upload your image (the code supports only a single image at a time) from google.colab import files uploaded = files.upload() for filename in uploaded.keys(): img_path = filename print('User uploaded file "{name}"'.format(name=filename)) """Finally, we preprocess the image, run the network, and save the result.""" data = dataset.dataset.get_item_from_path(img_path) visuals = model.inference(data) os.makedirs('results', exist_ok=True) out_path = os.path.join('results', os.path.splitext(img_path)[0].replace(' ', '_') + '.mp4') visualizer.make_video(visuals, out_path) """Let's display at the results. NOTE: if you're using chrome, uncomment the lines below. For some reason, mp4 files won't display on chrome browser, so we need to convert to webm. """ use_webm = False # For some unknown reason the mp4 video is not displayed on chrome # If you have chrome, uncomment the following lines to convert the # result to webm for display purposes !pip3 install webm webm_out_path = os.path.join('results', os.path.splitext(img_path)[0].replace(' ', '_') + '.webm') !webm -i $out_path $webm_out_path use_webm = True