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

Function inference

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

Source from the content-addressed store, hash-verified

67 classes = ['spleen', 'right kidney', 'left kidney', 'gallbladder', 'pancreas', 'liver', 'stomach', 'aorta']
68
69def 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
92if __name__ == "__main__":
93

Callers 1

test_synapse.pyFile · 0.70

Calls 1

test_single_volumeFunction · 0.90

Tested by

no test coverage detected