def test_mean_iou(): pred_size = (10, 30, 30) num_classes = 19 ignore_index = 255 results = np.random.randint(0, num_classes, size=pred_size) label = np.random.randint(0, num_classes, size=pred_size) label[:, 2, 5:10] = ignore_index ret_metrics = mean_iou(results, label, num_classes, ignore_index) all_acc, acc, iou = ret_metrics['aAcc'], ret_metrics['Acc'], ret_metrics[ 'IoU'] all_acc_l, acc_l, iou_l = legacy_mean_iou(results, label, num_classes, ignore_index) assert all_acc == all_acc_l assert np.allclose(acc, acc_l) assert np.allclose(iou, iou_l) results = np.random.randint(0, 5, size=pred_size) label = np.random.randint(0, 4, size=pred_size) ret_metrics = mean_iou(results, label, num_classes, ignore_index=255, nan_to_num=-1) all_acc, acc, iou = ret_metrics['aAcc'], ret_metrics['Acc'], ret_metrics[ 'IoU'] assert acc[-1] == -1 assert acc[-1] == -1
def get_evaluations(log_proba, seg, n_classes, ignore_idx): res = log_proba.argmax(1) miou, cate_acc, cate_iou = mean_iou(results=res, gt_seg_maps=seg, num_classes=n_classes, ignore_index=ignore_idx, nan_to_num=0.0) # record return miou, cate_acc, cate_iou
def test_mean_iou(): pred_size = (10, 30, 30) num_classes = 19 ignore_index = 255 results = np.random.randint(0, num_classes, size=pred_size) label = np.random.randint(0, num_classes, size=pred_size) label[:, 2, 5:10] = ignore_index all_acc, acc, iou = mean_iou(results, label, num_classes, ignore_index) all_acc_l, acc_l, iou_l = legacy_mean_iou(results, label, num_classes, ignore_index) assert all_acc == all_acc_l assert np.allclose(acc, acc_l) assert np.allclose(iou, iou_l)