else: q_dict = Dictionary.load_from_file( os.path.join('data', vocab_source, 'question_dictionary.pkl')) c_dict = Dictionary.load_from_file( os.path.join('data', vocab_source, 'explain_dictionary.pkl')) #train_dset = VQAFeatureDataset('train', q_dict, c_dict, 'cache/VQAE2',args.att_thr) #eval_dset = VQAFeatureDataset('val', q_dict, c_dict, 'cache/VQAE2',args.att_thr) train_dset = VQAEDataset('train', q_dict, c_dict, 'cache/VQAE2') eval_dset = VQAEDataset('val', q_dict, c_dict, 'cache/VQAE2') #train_dset = VQAEVQA2Dataset('train', q_dict, c_dict, 'cache') #eval_dset = VQAEVQA2Dataset('val', q_dict, c_dict, 'cache') batch_size = args.batch_size constructor = 'build_%s' % args.model model = utils.model_factory(constructor, train_dset, args.num_hid, args.att_dim, args.decode_dim).cuda() model_path = os.path.join(args.output, 'model.pth') model_state = torch.load(model_path) model.load_state_dict(model_state) print('Model has {} parameters in total'.format(utils.params_count(model))) #model = nn.DataParallel(model).cuda() eval_loader = DataLoader(eval_dset, batch_size, shuffle=False, num_workers=1) model.train(False) vqa_score, results = evaluate(model, eval_loader, q_dict, c_dict) save_obj = {'vqa_score': vqa_score, 'results': results}
torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.backends.cudnn.benchmark = True q_dict = Dictionary.load_from_file(os.path.join('data', vocab_source, 'question_dictionary.pkl')) c_dict = Dictionary.load_from_file(os.path.join('data', vocab_source, 'explain_dictionary.pkl')) q_emb_file = os.path.join('data', vocab_source, 'glove6b_init_300d_question.npy') c_emb_file = os.path.join('data', vocab_source, 'glove6b_init_300d_explain.npy') train_dset = data_factory(args.train_set, 'train', q_dict, c_dict, os.path.join('cache', target_source), result=True) eval_dset = data_factory(args.val_set, 'val', q_dict, c_dict, os.path.join('cache', target_source), result=True) batch_size = args.batch_size constructor = 'build_%s' % args.model model = utils.model_factory(constructor, train_dset, args.dim_hid, args.emb_rnn).cuda() model_path = os.path.join(args.output, 'model.pth') model_state = torch.load(model_path) model.load_state_dict(model_state) print('Model has {} parameters in total'.format(utils.params_count(model))) #model = nn.DataParallel(model).cuda() eval_loader = DataLoader(eval_dset, batch_size, shuffle=False, num_workers=1) model.train(False) vqa_score, results = evaluate(model, eval_loader, q_dict, c_dict) print(vqa_score) save_obj = {'vqa_score': vqa_score, 'results': results} import pdb pdb.set_trace()