# category_id = result["category_id"] # # assert category_id < num_classes, ( # # f"A prediction has class={category_id}, " # # f"but the dataset only has {num_classes} classes and " # # f"predicted class id should be in [0, {num_classes - 1}]." # # ) # result["category_id"] = reverse_id_mapping[category_id] # seg_results.append(result) # # if not os.path.exists('{}/results'.format(args.result_dir)): # os.mkdir('{}/results'.format(args.result_dir)) # # with open('{}/results/{}_seg_results.json'.format(args.result_dir, args.data_type), 'w') as f_det: # json.dump(seg_results, f_det) if 'test' not in args.data_type: if not os.path.exists('{}/results/plot'.format(args.result_dir)): os.mkdir('{}/results/plot'.format(args.result_dir)) print( '---------------------------------------------------------------------------------' ) print('Running COCO segmentation val17 evaluation ...') coco_pred = coco.loadRes('{}/results/{}_seg_results.json'.format( args.result_dir, args.data_type)) coco_eval = COCOeval(coco, coco_pred, 'segm') coco_eval.evaluate() coco_eval.accumulate() coco_eval.summarize() coco_eval.analyze( save_to_dir='{}/results/plot'.format(args.result_dir))