utils.create_dir(args.output) logger = utils.Logger(os.path.join(args.output, 'args.txt')) logger.write(args.__repr__()) batch_size = args.batch_size constructor = 'build_%s' % args.model model = getattr(base_model, constructor)(train_dset, args.num_hid, args.op, args.gamma, args.task).cuda() tfidf = None weights = None if args.tfidf: dict = Dictionary.load_from_file(dict_path) tfidf, weights = tfidf_from_questions(['train', 'val', 'test2015'], dict) model.w_emb.init_embedding(w_emb_path, tfidf, weights) model = nn.DataParallel(model).cuda() optim = None epoch = 0 # load snapshot if args.input is not None: print('loading %s' % args.input) model_data = torch.load(args.input) model.load_state_dict(model_data.get('model_state', model_data)) optim = torch.optim.Adamax( filter(lambda p: p.requires_grad, model.parameters()))
pos_emb_dim=args.imp_pos_emb_dim, dataroot=args.data_folder) train_dset = VQAFeatureDataset('train', dictionary, args.relation_type, adaptive=args.adaptive, pos_emb_dim=args.imp_pos_emb_dim, dataroot=args.data_folder) model = build_regat(val_dset, args).to(device) tfidf = None weights = None if args.tfidf: tfidf, weights = tfidf_from_questions(['train', 'val', 'test2015'], dictionary, dataroot=args.data_folder) model.w_emb.init_embedding( join(args.data_folder, 'glove/glove6b_init_300d.npy'), tfidf, weights) model = nn.DataParallel(model).to(device) if args.checkpoint != "": print("Loading weights from %s" % (args.checkpoint)) if not os.path.exists(args.checkpoint): raise ValueError("No such checkpoint exists!") checkpoint = torch.load(args.checkpoint) state_dict = checkpoint.get('model_state', checkpoint) matched_state_dict = {} unexpected_keys = set() missing_keys = set()