(cfg)
| 32 | |
| 33 | |
| 34 | def do_flop(cfg): |
| 35 | data_loader = build_detection_test_loader(cfg, cfg.DATASETS.TEST[0]) |
| 36 | model = build_model(cfg) |
| 37 | DetectionCheckpointer(model).load(cfg.MODEL.WEIGHTS) |
| 38 | model.eval() |
| 39 | |
| 40 | counts = Counter() |
| 41 | total_flops = [] |
| 42 | for idx, data in zip(tqdm.trange(args.num_inputs), data_loader): # noqa |
| 43 | count = flop_count_operators(model, data) |
| 44 | counts += count |
| 45 | total_flops.append(sum(count.values())) |
| 46 | logger.info( |
| 47 | "(G)Flops for Each Type of Operators:\n" + str([(k, v / idx) for k, v in counts.items()]) |
| 48 | ) |
| 49 | logger.info("Total (G)Flops: {}±{}".format(np.mean(total_flops), np.std(total_flops))) |
| 50 | |
| 51 | |
| 52 | def do_activation(cfg): |
nothing calls this directly
no test coverage detected