From 2ed2f60a2c0733c0f76f043760963f3157d3f691 Mon Sep 17 00:00:00 2001 From: tgupta6 <tgupta6@illinois.edu> Date: Tue, 4 Oct 2016 03:40:14 -0500 Subject: [PATCH] make ans eval and train compatible with each other (resolved conflict in ans train) Conflicts: answer_classifier_cached_features/train.py --- answer_classifier_cached_features/eval.py | 6 +++- answer_classifier_cached_features/train.py | 37 +++++++++++----------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/answer_classifier_cached_features/eval.py b/answer_classifier_cached_features/eval.py index 51d0080..046161c 100644 --- a/answer_classifier_cached_features/eval.py +++ b/answer_classifier_cached_features/eval.py @@ -51,6 +51,8 @@ def create_batch_generator(mode): qids_json, constants.vocab_json, constants.vqa_answer_vocab_json, + constants.object_labels_json, + constants.attribute_labels_json, constants.image_size, constants.num_region_proposals, constants.num_negative_answers, @@ -267,13 +269,15 @@ if __name__=='__main__': 0, 0, constants.answer_obj_atr_loss_wt, + constants.answer_ans_loss_wt, + constants.answer_mil_loss_wt, resnet_feat_dim=constants.resnet_feat_dim, training=False) print 'Starting a session...' config = tf.ConfigProto() config.gpu_options.allow_growth = True - config.gpu_options.per_process_gpu_memory_fraction = 0.5 + config.gpu_options.per_process_gpu_memory_fraction = 0.9 sess = tf.Session(config=config, graph=graph.tf_graph) print 'Creating initializer...' diff --git a/answer_classifier_cached_features/train.py b/answer_classifier_cached_features/train.py index 4833533..7bd5ebe 100644 --- a/answer_classifier_cached_features/train.py +++ b/answer_classifier_cached_features/train.py @@ -484,23 +484,24 @@ class graph_creator(): ["accuracy_answer"], self.moving_average_accuracy) - # object - self.object_accuracy = self.add_object_accuracy_computation( - self.object_scores_with_labels, - self.plh['object_labels']) - - object_accuracy_summary = tf.scalar_summary( - "accuracy_object", - self.object_accuracy) - - # attributes - self.attribute_accuracy = self.add_attribute_accuracy_computation( - self.attribute_scores_with_labels, - self.plh['attribute_labels']) - - attribute_accuracy_summary = tf.scalar_summary( - "accuracy_attribute", - self.attribute_accuracy) + if self.training: + # object + self.object_accuracy = self.add_object_accuracy_computation( + self.object_scores_with_labels, + self.plh['object_labels']) + + object_accuracy_summary = tf.scalar_summary( + "accuracy_object", + self.object_accuracy) + + # attributes + self.attribute_accuracy = self.add_attribute_accuracy_computation( + self.attribute_scores_with_labels, + self.plh['attribute_labels']) + + attribute_accuracy_summary = tf.scalar_summary( + "accuracy_attribute", + self.attribute_accuracy) def add_answer_accuracy_computation(self, scores): with tf.variable_scope('answer_accuracy'): @@ -896,7 +897,7 @@ def train( logger.log(iter, False, eval_vars_dict) iter+=1 - if iter%8000==0: + if iter%8000==0 and iter!=0: gc.collect() logger.log(iter-1, True, eval_vars_dict) -- GitLab