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