# 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]))