MCPcopy Create free account
hub / github.com/SLDGroup/MERIT / inference

Function inference

test_synapse.py:49–70  ·  view source on GitHub ↗
(args, model, test_save_path=None)

Source from the content-addressed store, hash-verified

47 classes = ['spleen', 'right kidney', 'left kidney', 'gallbladder', 'pancreas', 'liver', 'stomach', 'aorta']
48
49def inference(args, model, test_save_path=None):
50 db_test = args.Dataset(base_dir=args.volume_path, split="test_vol", list_dir=args.list_dir, nclass=args.num_classes)
51 testloader = DataLoader(db_test, batch_size=1, shuffle=False, num_workers=1)
52 logging.info("{} test iterations per epoch".format(len(testloader)))
53 model.eval()
54 metric_list = 0.0
55 for i_batch, sampled_batch in tqdm(enumerate(testloader)):
56 h, w = sampled_batch["image"].size()[2:]
57 image, label, case_name = sampled_batch["image"], sampled_batch["label"], sampled_batch['case_name'][0]
58 metric_i = test_single_volume(image, label, model, classes=args.num_classes, patch_size=[args.img_size, args.img_size],
59 test_save_path=test_save_path, case=case_name, z_spacing=1)
60 metric_list += np.array(metric_i)
61 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]))
62 metric_list = metric_list / len(db_test)
63 for i in range(1, args.num_classes):
64 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]))
65 performance = np.mean(metric_list, axis=0)[0]
66 mean_hd95 = np.mean(metric_list, axis=0)[1]
67 mean_jacard = np.mean(metric_list, axis=0)[2]
68 mean_asd = np.mean(metric_list, axis=0)[3]
69 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))
70 return "Testing Finished!"
71
72
73if __name__ == "__main__":

Callers 1

test_synapse.pyFile · 0.70

Calls 1

test_single_volumeFunction · 0.90

Tested by

no test coverage detected