Beispiel #1
0
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))
Beispiel #2
0
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))
Beispiel #4
0
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))