if __name__ == '__main__': args = parse_args() vocab_source = 'VQA2' #### 'VQAE' or 'VQAv2' target_source = vocab_source + '_2_' + args.val_set 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)
torch.manual_seed(args.seed) torch.cuda.manual_seed(args.seed) torch.backends.cudnn.benchmark = True if args.share_qe_dict: qe_dict = Dictionary.load_from_file( os.path.join('data', vocab_source, 'question_explain_dictionary.pkl')) 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 = data_factory(args.dataset, 'train', q_dict, c_dict, os.path.join('cache', vocab_source)) eval_dset = data_factory(args.dataset, 'val', q_dict, c_dict, os.path.join('cache', vocab_source)) label2ans = pickle.load( open( os.path.join('data', 'cache', vocab_source, 'trainval_label2ans.pkl'))) batch_size = args.batch_size constructor = 'build_%s' % args.model model1 = utils.model_factory(constructor, train_dset, args.num_hid, args.att_dim, args.decode_dim).cuda() model2 = utils.model_factory(constructor, train_dset, args.num_hid, args.att_dim, args.decode_dim).cuda() model1_path = os.path.join(args.source1, 'model.pth')