guesser_wincount = 0 guesser_valid_wincount = 0 random_gids = np.random.choice(len(game_ids_train+game_ids_val),4) for gid in game_ids_train+game_ids_val: decider_optimizer.zero_grad() guesser_optimizer.zero_grad() guesser_loss = 0 decider_loss = 0 train_game = gid in game_ids_train if use_cuda: visual_features = Variable(torch.Tensor(dr.get_image_features(gid)), requires_grad=False).cuda().view(1,-1) crop_features = Variable(torch.Tensor(dr.get_crop_features(gid)), requires_grad=False).cuda().view(1,-1) else: visual_features = Variable(torch.Tensor(dr.get_image_features(gid)), requires_grad=False).view(1,-1) crop_features = Variable(torch.Tensor(dr.get_crop_features(gid)), requires_grad=False).view(1,-1) # Data required for the guesser img_meta = dr.get_image_meta(gid) object_categories = torch.LongTensor(list(map(int, dr.get_category_id(gid)))) object_ids = dr.get_object_ids(gid) # get guesser target object correct_obj_id = dr.get_target_object(gid) target_guess = object_ids.index(correct_obj_id) object_spatials = guesser_model.img_spatial(img_meta)