(args, model, test_save_path=None)
| 67 | classes = ['spleen', 'right kidney', 'left kidney', 'gallbladder', 'pancreas', 'liver', 'stomach', 'aorta'] |
| 68 | |
| 69 | def inference(args, model, test_save_path=None): |
| 70 | db_test = args.Dataset(base_dir=args.volume_path, split="test_vol", list_dir=args.list_dir, nclass=args.num_classes) |
| 71 | testloader = DataLoader(db_test, batch_size=1, shuffle=False, num_workers=1) |
| 72 | logging.info("{} test iterations per epoch".format(len(testloader))) |
| 73 | model.eval() |
| 74 | metric_list = 0.0 |
| 75 | for i_batch, sampled_batch in tqdm(enumerate(testloader)): |
| 76 | h, w = sampled_batch["image"].size()[2:] |
| 77 | image, label, case_name = sampled_batch["image"], sampled_batch["label"], sampled_batch['case_name'][0] |
| 78 | metric_i = test_single_volume(image, label, model, classes=args.num_classes, patch_size=[args.img_size, args.img_size], |
| 79 | test_save_path=test_save_path, case=case_name, z_spacing=1, class_names=classes) |
| 80 | metric_list += np.array(metric_i) |
| 81 | logging.info('idx %d case %s mean_dice %f mean_hd95 %f, mean_jacard %f mean_asd %f' % (i_batch, case_name, np.mean(metric_i, axis=0)[0], np.mean(metric_i, axis=0)[1], np.mean(metric_i, axis=0)[2], np.mean(metric_i, axis=0)[3])) |
| 82 | metric_list = metric_list / len(db_test) |
| 83 | for i in range(1, args.num_classes): |
| 84 | logging.info('Mean class (%d) %s mean_dice %f mean_hd95 %f, mean_jacard %f mean_asd %f' % (i, classes[i-1], metric_list[i-1][0], metric_list[i-1][1], metric_list[i-1][2], metric_list[i-1][3])) |
| 85 | performance = np.mean(metric_list, axis=0)[0] |
| 86 | mean_hd95 = np.mean(metric_list, axis=0)[1] |
| 87 | mean_jacard = np.mean(metric_list, axis=0)[2] |
| 88 | mean_asd = np.mean(metric_list, axis=0)[3] |
| 89 | logging.info('Testing performance in best val model: mean_dice : %f mean_hd95 : %f, mean_jacard : %f mean_asd : %f' % (performance, mean_hd95, mean_jacard, mean_asd)) |
| 90 | return "Testing Finished!" |
| 91 | |
| 92 | if __name__ == "__main__": |
| 93 |
no test coverage detected