File size: 2,339 Bytes
f1c1609
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# from pdvc.video_segmentation import align_frame_into_steps_op
# import torch 

# # create two tensors
# frame = torch.rand(200, 768)
# steps = torch.rand(10, 768)

# bboxs = align_frame_into_steps_op(frame, steps, order=False)
# # breakpoint()
# print('done!')


# ==================================================================
# import json 

# filepath = "/mnt/data/pjlab-3090-sport/wuhao/logs/dibs/yc2_ori_pbox(similarity_op_order)_CLIP/similarity_op_order_topf20_beta1_iter3_r1/info.json"
# with open(filepath, 'r') as f:
#     data = json.load(f)

# val_history = data['history']['val_result_history']

# metric_sum = {}
# metrics = ['METEOR', 'CIDEr', 'soda_c', 'Precision', 'Recall']
# for k, v in val_history.items():
#     metric_sum[k] = sum([v['eval_score'][metric] for metric in metrics])
#     print(f"{k}: {metric_sum[k]}")

# best_epoch = max(metric_sum, key=metric_sum.get)
# print(val_history[best_epoch]['eval_score'])
# # write the val_history to a file
# with open('val.log', 'w') as f:
#     for k, v in val_history[best_epoch]['eval_score'].items():
#         f.write(f"{k}: {v}\n")
# # print(metric_sum)
# # breakpoint()
# print('done!')

# ==================================================================
import os 
import json
import sys 
sys.path.append('/mnt/data/Gvlab/wuhao/code/dibs')
from misc.utils import create_logger
save_folder = "/mnt/data/pjlab-3090-sport/wuhao/logs/dibs/yc2_ori_pbox(similarity_op_order)_CLIP/similarity_op_order_topf20_beta1_iter3_r1"

val_logger = create_logger(save_folder, 'val.log')
infos_path = os.path.join(save_folder, 'info.json')

with open(infos_path, 'r') as f:
    data = json.load(f)
val_history = data['history']['val_result_history']

metric_sum = {}
metrics = ['METEOR', 'CIDEr', 'soda_c', 'Precision', 'Recall']
for k, v in val_history.items():
    metric_sum[k] = sum([v['eval_score'][metric] for metric in metrics])
    # print(f"{k}: {metric_sum[k]}")

best_epoch = max(metric_sum, key=metric_sum.get)
best_val_score = val_history[best_epoch]['eval_score']
val_logger.info(f"Best epoch: {best_epoch}")
print_info = '\n'.join([key + ":" + str(best_val_score[key]) for key in best_val_score.keys()])
val_logger.info('\nBest Model Performance:\n' + print_info)
val_logger.info('\nBest Overall Score epoch{}: {}\n'.format(best_epoch, metric_sum[best_epoch]))