Skip to content
Snippets Groups Projects
Commit 4863d27a authored by tgupta6's avatar tgupta6
Browse files

freq_acc_plot modified to read in object_labels.json

parent 5a14825e
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,10 @@ import constants
pp = pprint.PrettyPrinter(indent=4)
if __name__=='__main__':
print 'Reading {}'.format(constants.object_labels_json)
with open(constants.object_labels_json) as file:
object_labels_dict = ujson.load(file)
print 'Reading {}'.format(constants.eval_regions_json)
with open(constants.regions_json) as file:
all_regions_data = ujson.load(file)
......@@ -32,37 +36,41 @@ if __name__=='__main__':
obj_train_freq_dict = dict()
obj_test_freq_dict = dict()
obj_hit_dict = dict()
for obj in object_labels_dict.keys():
obj_train_freq_dict[obj] = 0
obj_test_freq_dict[obj] = 0
obj_hit_dict[obj] = 0
for region_id in train_region_ids:
region_data = all_regions_data[region_id]
for obj in region_data['object_names']:
if obj not in obj_train_freq_dict:
obj_train_freq_dict[obj] = 0
obj_train_freq_dict[obj] += 1
obj_train_freq_dict[constants.unknown_token] += 1
else:
obj_train_freq_dict[obj] += 1
for region_id, pred_dict in obj_pred_data.items():
for obj in pred_dict['gt']:
if obj not in obj_hit_dict:
obj_hit_dict[obj] = 0
if obj in pred_dict['pred']:
obj_hit_dict[obj] += 1
if obj not in obj_test_freq_dict:
obj_test_freq_dict[obj] = 1
else:
if obj in obj_test_freq_dict:
obj_test_freq_dict[obj] += 1
else:
obj_test_freq_dict[constants.unknown_token] += 1
AccFreqData = namedtuple('AccFreqData',['label','acc','hits','train_freq','test_freq'])
records = []
for obj, hits in obj_hit_dict.items():
if obj not in obj_train_freq_dict:
obj_train_freq_dict[obj] = 0
# if obj not in obj_train_freq_dict:
# obj_train_freq_dict[obj] = 0
if obj==constants.unknown_token:
pass
records += [AccFreqData(
label=obj,
acc=float(hits + 1e-5)/float(obj_test_freq_dict[obj] + 1e-5),
......@@ -81,7 +89,7 @@ if __name__=='__main__':
'1000': 0,
'5000': 0,
'10000': 0,
'many': 0,
'many': 0,
}
rarity_counts = {
......@@ -92,7 +100,7 @@ if __name__=='__main__':
'1000': 0,
'5000': 0,
'10000': 0,
'many': 0,
'many': 0,
}
for record in sorted_records:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment