num_workers=0) #################################################################################### # Build the Model #################################################################################### vocab_size = dataset_val.vocab_size ques_length = dataset_val.ques_length ans_length = dataset_val.ans_length + 1 his_length = dataset_val.ans_length + dataset_val.ques_length itow = dataset_val.itow img_feat_size = 512 print('init Generative model...') netG = _netG(opt.model, vocab_size, opt.ninp, opt.nhid, opt.nlayers, opt.dropout, False) netE_g = _netE(opt.model, opt.ninp, opt.nhid, opt.nlayers, opt.dropout, img_feat_size) netW_g = model._netW(vocab_size, opt.ninp, opt.dropout) sampler = model.gumbel_sampler() critG = model.G_loss(opt.ninp) critLM = model.LMCriterion() if opt.evalall == False: # opt.model_path_D != '' and opt.model_path_G != '': print('Loading Generative model...') netW_g.load_state_dict(checkpoint['netW']) netE_g.load_state_dict(checkpoint['netE']) netG.load_state_dict(checkpoint['netG']) else: print('Loading Generative model...') netW_g.load_state_dict(checkpoint['netW_g']) netE_g.load_state_dict(checkpoint['netE_g']) netG.load_state_dict(checkpoint['netG'])
dataloader_val = torch.utils.data.DataLoader(dataset_val, batch_size=1, shuffle=False, num_workers=int(opt.workers)) #################################################################################### # Build the Model #################################################################################### n_neg = opt.negative_sample vocab_size = dataset.vocab_size ques_length = dataset.ques_length ans_length = dataset.ans_length + 1 his_length = dataset.ans_length + dataset.ques_length itow = dataset.itow img_feat_size = 512 netE = _netE(opt.model, opt.ninp, opt.nhid, opt.nlayers, opt.dropout, img_feat_size) netW = model._netW(vocab_size, opt.ninp, opt.dropout) netD = model._netD(opt.model, opt.ninp, opt.nhid, opt.nlayers, vocab_size, opt.dropout) critD =model.nPairLoss(opt.ninp, opt.margin) if opt.model_path != '': # load the pre-trained model. netW.load_state_dict(checkpoint['netW']) netE.load_state_dict(checkpoint['netE']) netD.load_state_dict(checkpoint['netD']) if opt.cuda: # ship to cuda, if has GPU netW.cuda(), netE.cuda(), netD.cuda(), critD.cuda() #################################################################################### # training model