def eval_on_ILSVRC12(model, sess_init, data_dir): ds = dataset.ILSVRC12(data_dir, 'val', shuffle=False) def resize_func(im): h, w = im.shape[:2] scale = 256.0 / min(h, w) desSize = map(int, (max(224, min(w, scale * w)),\ max(224, min(h, scale * h)))) im = cv2.resize(im, tuple(desSize), interpolation=cv2.INTER_CUBIC) return im transformers = [ imgaug.MapImage(resize_func), imgaug.CenterCrop((224, 224)), ] ds = AugmentImageComponent(ds, transformers) ds = BatchData(ds, 128, remainder=True) ds = PrefetchData(ds, 10, 1) cfg = PredictConfig( model=model, session_init=sess_init, session_config=get_default_sess_config(0.99), output_var_names=['prob:0', 'wrong-top1:0', 'wrong-top5:0'] ) pred = SimpleDatasetPredictor(cfg, ds) acc1, acc5 = RatioCounter(), RatioCounter() for idx, o in enumerate(pred.get_result()): output, w1, w5 = o batch_size = output.shape[0] acc1.feed(w1, batch_size) acc5.feed(w5, batch_size) print("Top1 Error: {}".format(acc1.ratio)) print("Top5 Error: {}".format(acc5.ratio))
def eval_on_ILSVRC12(model, sess_init, data_dir): ds = dataset.ILSVRC12(data_dir, 'val', shuffle=False) def resize_func(im): h, w = im.shape[:2] scale = 256.0 / min(h, w) desSize = map(int, (max(224, min(w, scale * w)),\ max(224, min(h, scale * h)))) im = cv2.resize(im, tuple(desSize), interpolation=cv2.INTER_CUBIC) return im transformers = [ imgaug.MapImage(resize_func), imgaug.CenterCrop((224, 224)), ] ds = AugmentImageComponent(ds, transformers) ds = BatchData(ds, 128, remainder=True) ds = PrefetchData(ds, 10, 1) cfg = PredictConfig( model=model, session_init=sess_init, session_config=get_default_sess_config(0.99), output_var_names=['prob:0', 'wrong-top1:0', 'wrong-top5:0']) pred = SimpleDatasetPredictor(cfg, ds) acc1, acc5 = RatioCounter(), RatioCounter() for idx, o in enumerate(pred.get_result()): output, w1, w5 = o batch_size = output.shape[0] acc1.feed(w1, batch_size) acc5.feed(w5, batch_size) print("Top1 Error: {}".format(acc1.ratio)) print("Top5 Error: {}".format(acc5.ratio))
def eval_on_ILSVRC12(model_file, data_dir): ds = get_data('val') pred_config = PredictConfig(model=Model(), input_var_names=['input', 'label'], session_init=get_model_loader(model_file), output_var_names=['wrong-top1', 'wrong-top5']) pred = SimpleDatasetPredictor(pred_config, ds) acc1, acc5 = RatioCounter(), RatioCounter() for o in pred.get_result(): batch_size = o[0].shape[0] acc1.feed(o[0].sum(), batch_size) acc5.feed(o[1].sum(), batch_size) print("Top1 Error: {}".format(acc1.ratio)) print("Top5 Error: {}".format(acc5.ratio))
def eval_on_ILSVRC12(params, data_dir): ds = dataset.ILSVRC12(data_dir, 'val', shuffle=False, dir_structure='train') ds = AugmentImageComponent(ds, get_inference_augmentor()) ds = BatchData(ds, 128, remainder=True) pred_config = PredictConfig( model=Model(), input_var_names=['input', 'label'], session_init=ParamRestore(params), output_var_names=['prob', 'wrong-top1', 'wrong-top5'] ) pred = SimpleDatasetPredictor(pred_config, ds) acc1, acc5 = RatioCounter(), RatioCounter() for o in pred.get_result(): batch_size = o[0].shape[0] acc1.feed(o[1], batch_size) acc5.feed(o[2], batch_size) print("Top1 Error: {}".format(acc1.ratio)) print("Top5 Error: {}".format(acc5.ratio))