def eval_model(model_name, test_img_path, submit_path, save_flag=True): if os.path.exists(submit_path): shutil.rmtree(submit_path) os.mkdir(submit_path) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model = EAST(False).to(device) checkpoint = torch.load(model_name) model.load_state_dict(checkpoint['state_dict']) print('model epoch :', checkpoint['epoch']) # model.load_state_dict(torch.load(model_name)) model.eval() start_time = time.time() detect_dataset(model, device, test_img_path, submit_path) os.chdir(submit_path) res = subprocess.getoutput('zip -q submit13.zip *.txt') res = subprocess.getoutput('mv submit13.zip ../') os.chdir('../') res = subprocess.getoutput( 'python ./evaluate/script.py –g=./evaluate/gt13.zip –s=./submit13.zip') print(res) os.remove('./submit13.zip') print('eval time is {}'.format(time.time() - start_time)) if not save_flag: shutil.rmtree(submit_path)
def eval_model(model, checkpoint, test_path, submit_path, save_flag=True): test_img_path = os.path.join(test_path, 'images') test_gt_path = os.path.join(test_path, 'gt') proc_dir = os.getcwd() if os.path.exists(submit_path): shutil.rmtree(submit_path) os.mkdir(submit_path) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model.to(device) model.load_state_dict(torch.load(checkpoint)['model']) model.eval() start_time = time.time() detect_dataset(model, device, test_img_path, submit_path) os.chdir(submit_path) res = subprocess.getoutput('zip -q submit.zip *.txt') #print(res) shutil.move('submit.zip', '../submit.zip') os.chdir(test_gt_path) res = subprocess.getoutput('zip -q gt.zip *.txt') shutil.move('gt.zip', os.path.join(proc_dir, 'gt.zip')) # res = subprocess.getoutput('mv submit.zip ../') os.chdir(proc_dir) res = subprocess.getoutput( 'python ./evaluate/script.py –g=./gt.zip –s=./submit.zip') print(res) os.remove('./submit.zip') #print('eval time is {}'.format(time.time()-start_time)) if not save_flag: shutil.rmtree(submit_path)