def METHOD_NAME(args,
        student,
        teacher,
        test_pos_loader,
        test_neg_loader,
        epoch=None,
        eval_pro=False):
    category = args.category
    gt = load_gt(args.data_path, category, args.resize)
    pos = cal_error(args, teacher, student, test_pos_loader)
    neg = cal_error(args, teacher, student, test_neg_loader)
    scores = []
    for i in range(len(pos)):
        temp = cv2.resize(pos[i], (args.resize[0], args.resize[1]))
        scores.append(temp)
    for i in range(len(neg)):
        temp = cv2.resize(neg[i], (args.resize[0], args.resize[1]))
        scores.append(temp)
    scores = np.stack(scores)
    neg_gt = np.zeros((len(neg), args.resize[0], args.resize[1]), dtype=np.bool)
    gt_pixel = np.concatenate((gt, neg_gt), 0)
    gt_image = np.concatenate(
        (np.ones(
            pos.shape[0], dtype=np.bool), np.zeros(
                neg.shape[0], dtype=np.bool)),
        0)
    if eval_pro:  ## very slow
        pro = eval_metric(gt_pixel, scores, metric='pro')
        auc_pixel = eval_metric(
            gt_pixel.flatten(), scores.flatten(), metric='roc')
        auc_image_max = eval_metric(
            gt_image, scores.max(-1).max(-1), metric='roc')
        if epoch != None:
            print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + '\t' +
                  'Epoch: {}\tCatergory: {:s}\tPixel-AUC: {:.6f}'
                  '\tImage-AUC: {:.6f}\tPRO: {:.6f}'.format(
                      epoch, category, auc_pixel, auc_image_max, pro))
        else:
            print(
                'Catergory: {:s}\tPixel-AUC: {:.6f}\tImage-AUC: {:.6f}\tPRO: {:.6f}'.
                format(category, auc_pixel, auc_image_max, pro))
    else:
        auc_pixel = eval_metric(
            gt_pixel.flatten(), scores.flatten(), metric='roc')
        auc_image_max = eval_metric(
            gt_image, scores.max(-1).max(-1), metric='roc')
        if epoch != None:
            print(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + '\t' +
                  'Epoch: {}\tCatergory: {:s}\tPixel-AUC: {:.6f}'
                  '\tImage-AUC: {:.6f}'.format(epoch, category, auc_pixel,
                                               auc_image_max))
        else:
            print('Catergory: {:s}\tPixel-AUC: {:.6f}\tImage-AUC: {:.6f}'.
                  format(category, auc_pixel, auc_image_max))