def predict(frozen_model, training_cnf, predict_dir, image_size, output_path, num_classes, gpu_memory_fraction): cnf = util.load_module(training_cnf).cnf standardizer = cnf['standardizer'] graph = util.load_frozen_graph(frozen_model) preprocessor = convert_preprocessor(image_size) predictor = SegmentPredictor(graph, standardizer, preprocessor) # images = data.get_image_files(predict_dir) image_names = [ filename.strip() for filename in os.listdir(predict_dir) if filename.endswith('.jpg') ] hist = np.zeros((num_classes, num_classes)) for image_filename in image_names: final_prediction_map = predictor.predict( os.path.join(predict_dir, image_filename)) final_prediction_map = final_prediction_map.transpose(0, 2, 1).squeeze() gt_name = os.path.join(predict_dir, image_filename[:-4] + '_final_mask' + '.png') gt = convert(gt_name, image_size) gt = np.asarray(gt) gt = convert_labels(gt, image_size, image_size) hist += compute_hist(gt, final_prediction_map, num_classes=num_classes) iou = np.diag(hist) / (hist.sum(1) + hist.sum(0) - np.diag(hist)) meaniou = np.nanmean(iou) print('Mean IOU %5.5f' % meaniou)
def predict(frozen_model, training_cnf, image_path, image_size, output_path, gpu_memory_fraction): cnf = util.load_module(training_cnf).cnf standardizer = cnf['standardizer'] graph = util.load_frozen_graph(frozen_model) preprocessor = convert_preprocessor(448) predictor = SegmentPredictor(graph, standardizer, preprocessor) final_prediction_map = predictor.predict(image_path) final_prediction_map = final_prediction_map.transpose(0, 2, 1).squeeze() image = data.load_image(image_path, preprocessor=preprocessor) img = image.transpose(2, 1, 0) img = Image.fromarray(img.astype('uint8'), 'RGB') img.save('/tmp/test.png') image_filename = image_path.split('/')[-1] plot_masks('/tmp/test.png', final_prediction_map, output_path) """
def predict(frozen_model, training_cnf, predict_dir, image_size, output_path, num_classes, gpu_memory_fraction): cnf = util.load_module(training_cnf).cnf standardizer = cnf['standardizer'] graph = util.load_frozen_graph(frozen_model) preprocessor = convert_preprocessor(image_size) predictor = SegmentPredictor(graph, standardizer, preprocessor) # images = data.get_image_files(predict_dir) image_names = [ filename.strip() for filename in os.listdir(predict_dir) if filename.endswith('.jpg') ] iou = IOU() per_class_iou = iou.per_class_iou(predictor, predict_dir, image_size) meaniou = iou.meaniou(predictor, predict_dir, image_size) print(per_class_iou) print('Mean IOU %5.5f' % meaniou)