当前位置: 首页>>代码示例>>Python>>正文


Python stats.RatioCounter方法代码示例

本文整理汇总了Python中tensorpack.utils.stats.RatioCounter方法的典型用法代码示例。如果您正苦于以下问题:Python stats.RatioCounter方法的具体用法?Python stats.RatioCounter怎么用?Python stats.RatioCounter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tensorpack.utils.stats的用法示例。


在下文中一共展示了stats.RatioCounter方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: eval_classification

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_classification(model, sessinit, dataflow):
    """
    Eval a classification model on the dataset. It assumes the model inputs are
    named "input" and "label", and contains "wrong-top1" and "wrong-top5" in the graph.
    """
    pred_config = PredictConfig(
        model=model,
        session_init=sessinit,
        input_names=['input', 'label'],
        output_names=['wrong-top1', 'wrong-top5']
    )
    acc1, acc5 = RatioCounter(), RatioCounter()

    # This does not have a visible improvement over naive predictor,
    # but will have an improvement if image_dtype is set to float32.
    pred = FeedfreePredictor(pred_config, StagingInput(QueueInput(dataflow), device='/gpu:0'))
    for _ in tqdm.trange(dataflow.size()):
        top1, top5 = pred()
        batch_size = top1.shape[0]
        acc1.feed(top1.sum(), batch_size)
        acc5.feed(top5.sum(), batch_size)

    print("Top1 Error: {}".format(acc1.ratio))
    print("Top5 Error: {}".format(acc5.ratio)) 
开发者ID:tensorpack,项目名称:benchmarks,代码行数:26,代码来源:imagenet_utils.py

示例2: eval_on_ILSVRC12

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_on_ILSVRC12(model_file, data_dir):
    ds = get_data('val')
    pred_config = PredictConfig(
        model=Model(),
        session_init=get_model_loader(model_file),
        input_names=['input', 'label'],
        output_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)) 
开发者ID:xingyul,项目名称:sparse-winograd-cnn,代码行数:18,代码来源:imagenet-resnet-transWino-prune.py

示例3: eval

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval(model_file, path, k, max_eval=None):
    df_val = get_data(os.path.join(path, 'go_val.lmdb'), shuffle=True, isTrain=False)
    if max_eval:
        df_val = FixedSizeData(df_val, max_eval)
    pred_config = PredictConfig(
        model=Model(k, add_wrong=True),
        session_init=get_model_loader(model_file),
        input_names=['feature_planes', 'labels', 'labels_2d'],
        output_names=['wrong-top1', 'wrong-top5']
    )
    pred = SimpleDatasetPredictor(pred_config, df_val)
    acc1, acc5 = RatioCounter(), RatioCounter()
    try:
        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)
    except Exception as e:
        print e
        from IPython import embed
        embed()
    err1 = (acc1.ratio) * 100
    err5 = (acc5.ratio) * 100
    print("Top1 Accuracy: {0:.2f}% Error: {1:.2f}% Random-Guess: ~0.44%".format(100 - err1, err1))
    print("Top5 Accuracy: {0:.2f}% Error: {1:.2f}% Random-Guess: ~2.00%".format(100 - err5, err5)) 
开发者ID:PatWie,项目名称:tensorflow-recipes,代码行数:27,代码来源:tfgo.py

示例4: eval_on_ILSVRC12

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_on_ILSVRC12(model, sessinit, dataflow):
    pred_config = PredictConfig(
        model=model,
        session_init=sessinit,
        input_names=['input', 'label'],
        output_names=['wrong-top1', 'wrong-top5']
    )
    acc1, acc5 = RatioCounter(), RatioCounter()

    # This does not have a visible improvement over naive predictor,
    # but will have an improvement if image_dtype is set to float32.
    pred = FeedfreePredictor(pred_config, StagingInput(QueueInput(dataflow), device='/gpu:0'))
    for _ in tqdm.trange(dataflow.size()):
        top1, top5 = pred()
        batch_size = top1.shape[0]
        acc1.feed(top1.sum(), batch_size)
        acc5.feed(top5.sum(), batch_size)

    print("Top1 Error: {}".format(acc1.ratio))
    print("Top5 Error: {}".format(acc5.ratio)) 
开发者ID:ppwwyyxx,项目名称:GroupNorm-reproduce,代码行数:22,代码来源:imagenet_utils.py

示例5: eval_on_ILSVRC12

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_on_ILSVRC12(model, sessinit, dataflow):
    pred_config = PredictConfig(
        model=model,
        session_init=sessinit,
        input_names=['input', 'label', 'input2', 'label2'],
        output_names=['wrong-top1', 'wrong-top5']
    )
    acc1, acc5 = RatioCounter(), RatioCounter()

    # This does not have a visible improvement over naive predictor,
    # but will have an improvement if image_dtype is set to float32.
    pred = FeedfreePredictor(pred_config, StagingInput(QueueInput(dataflow), device='/gpu:0'))
    for _ in tqdm.trange(dataflow.size()):
        top1, top5 = pred()
        batch_size = top1.shape[0]
        acc1.feed(top1.sum(), batch_size)
        acc5.feed(top5.sum(), batch_size)

    print("Top1 Error: {}".format(acc1.ratio))
    print("Top5 Error: {}".format(acc5.ratio)) 
开发者ID:qinenergy,项目名称:adanet,代码行数:22,代码来源:imagenet_utils.py

示例6: eval_on_ILSVRC12

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_on_ILSVRC12(model, sessinit, dataflow):
    pred_config = PredictConfig(
        model=model,
        session_init=sessinit,
        input_names=['input', 'label'],
        output_names=['wrong-top1', 'wrong-top5']
    )
    pred = SimpleDatasetPredictor(pred_config, dataflow)
    acc1, acc5 = RatioCounter(), RatioCounter()
    for top1, top5 in pred.get_result():
        batch_size = top1.shape[0]
        acc1.feed(top1.sum(), batch_size)
        acc5.feed(top5.sum(), batch_size)
    print("Top1 Error: {}".format(acc1.ratio))
    print("Top5 Error: {}".format(acc5.ratio)) 
开发者ID:huawei-noah,项目名称:ghostnet,代码行数:17,代码来源:imagenet_utils.py

示例7: eval_on_ILSVRC12

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def eval_on_ILSVRC12(model, sessinit, dataflow):
    pred_config = PredictConfig(
        model=model,
        session_init=sessinit,
        input_names=['input', 'label'],
        output_names=['wrong-top1', 'wrong-top5', 'res-top5', 'label', 'logits']
    )
    pred = SimpleDatasetPredictor(pred_config, dataflow)
    acc1, acc5 = RatioCounter(), RatioCounter()
    top5s = []
    labels = []
    logits = []
    for top1, top5, pred, label, logit in pred.get_result():
        batch_size = top1.shape[0]
        acc1.feed(top1.sum(), batch_size)
        acc5.feed(top5.sum(), batch_size)
        top5s.extend(pred.tolist())
        labels.extend(label.tolist())
        logits.extend(logit.tolist())
    with open("top5_resnet2x.json", "w") as f:
        json.dump(top5s, f)
    
    with open("labels_resnet2x.json", "w") as f:
        json.dump(labels, f)

    print("Top1 Error: {}".format(acc1.ratio))
    print("Top5 Error: {}".format(acc5.ratio))
    return acc1.ratio, acc5.ratio 
开发者ID:qinenergy,项目名称:webvision-2.0-benchmarks,代码行数:30,代码来源:imagenet_utils.py

示例8: test

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def test(net,
         session_init,
         val_dataflow,
         do_calc_flops=False,
         extended_log=False):
    """
    Main test routine.

    Parameters:
    ----------
    net : obj
        Model.
    session_init : SessionInit
        Session initializer.
    do_calc_flops : bool, default False
        Whether to calculate count of weights.
    extended_log : bool, default False
        Whether to log more precise accuracy values.
    """
    pred_config = PredictConfig(
        model=net,
        session_init=session_init,
        input_names=["input", "label"],
        output_names=["wrong-top1", "wrong-top5"]
    )
    err_top1 = RatioCounter()
    err_top5 = RatioCounter()

    tic = time.time()
    pred = FeedfreePredictor(pred_config, StagingInput(QueueInput(val_dataflow), device="/gpu:0"))

    for _ in tqdm.trange(val_dataflow.size()):
        err_top1_val, err_top5_val = pred()
        batch_size = err_top1_val.shape[0]
        err_top1.feed(err_top1_val.sum(), batch_size)
        err_top5.feed(err_top5_val.sum(), batch_size)

    err_top1_val = err_top1.ratio
    err_top5_val = err_top5.ratio

    if extended_log:
        logging.info("Test: err-top1={top1:.4f} ({top1})\terr-top5={top5:.4f} ({top5})".format(
            top1=err_top1_val, top5=err_top5_val))
    else:
        logging.info("Test: err-top1={top1:.4f}\terr-top5={top5:.4f}".format(
            top1=err_top1_val, top5=err_top5_val))
    logging.info("Time cost: {:.4f} sec".format(
        time.time() - tic))

    if do_calc_flops:
        calc_flops(model=net) 
开发者ID:osmr,项目名称:imgclsmob,代码行数:53,代码来源:eval_tf.py

示例9: evaluate_ilsvrc

# 需要导入模块: from tensorpack.utils import stats [as 别名]
# 或者: from tensorpack.utils.stats import RatioCounter [as 别名]
def evaluate_ilsvrc(args, subset, model_cls):
    ds = get_augmented_data.get_ilsvrc_augmented_data(subset, args, do_multiprocess=False)
    INPUT_SIZE = ILSVRC_DEFAULT_INPUT_SIZE
    model = model_cls(INPUT_SIZE, args)

    args.store_basename = None # This is disabled for now; it used to help storing predictions

    output_names = []
    accs = []
    n_preds = 0
    if args.num_anytime_preds == 0:
        output_names.append('dummy_image_mean')
    else:
        for i, w in enumerate(model.weights):
            if w > 0:
                n_preds += 1
                scope_name = model.compute_scope_basename(i)
                scope_name = model.prediction_scope(scope_name) 
                output_names.append('{}/wrong-top1'.format(scope_name))
                output_names.append('{}/wrong-top5'.format(scope_name))
                accs.extend([stats.RatioCounter(), stats.RatioCounter()])
                #output_names.append('{}/linear/output:0'.format(scope_name))
            if args.num_anytime_preds > 0 and n_preds >= args.num_anytime_preds:
                break

    pred_config = PredictConfig(
        model=model,
        input_names=['input', 'label'],
        output_names=output_names
    )
    if args.load:
        pred_config.session_init = get_model_loader(args.load)
    pred = SimpleDatasetPredictor(pred_config, ds)

    if args.store_basename is not None:
        store_fn = args.store_basename + "_{}.bin".format(subset)
        f_store_out = open(store_fn, 'wb')

    n_batches = 0
    import time
    start_time = time.time() 
    for o in pred.get_result():
        n_batches += 1
        if args.num_anytime_preds == 0:
            continue
        if args.store_basename is not None:
            preds = o[0]
            f_store_out.write(preds)
        batch_size = o[0].shape[0] 
        for i, acc in enumerate(accs):
            acc.feed(o[i].sum(), batch_size)
    logger.info('Inference finished, time: {:.4f}sec'.format(time.time() - start_time))
    if args.num_anytime_preds != 0:
        for i, name in enumerate(output_names):
            logger.info("Name {}, RatioCount {}".format(name, accs[i].ratio))

    if args.store_basename is not None:
        f_store_out.close() 
开发者ID:microsoft,项目名称:petridishnn,代码行数:60,代码来源:ann_app_utils.py


注:本文中的tensorpack.utils.stats.RatioCounter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。