MCPcopy Create free account
hub / github.com/Topdu/OpenOCR / main

Function main

tools/eval_rec_all_long_simple.py:24–119  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

22
23
24def main():
25 FLAGS = parse_args()
26 cfg = Config(FLAGS.config)
27 FLAGS = vars(FLAGS)
28 opt = FLAGS.pop('opt')
29 cfg.merge_dict(FLAGS)
30 cfg.merge_dict(opt)
31
32 cfg.cfg['Global']['use_amp'] = False
33 if cfg.cfg['Global']['output_dir'][-1] == '/':
34 cfg.cfg['Global']['output_dir'] = cfg.cfg['Global']['output_dir'][:-1]
35 cfg.cfg['Global']['max_text_length'] = 200
36 cfg.cfg['Architecture']['Decoder']['max_len'] = 200
37 cfg.cfg['Metric']['name'] = 'RecMetricLong'
38 if cfg.cfg['Global']['pretrained_model'] is None:
39 cfg.cfg['Global'][
40 'pretrained_model'] = cfg.cfg['Global']['output_dir'] + '/best.pth'
41 trainer = Trainer(cfg, mode='eval')
42
43 best_model_dict = trainer.status.get('metrics', {})
44 trainer.logger.info('metric in ckpt ***************')
45 for k, v in best_model_dict.items():
46 trainer.logger.info('{}:{}'.format(k, v))
47
48 data_dirs_list = [
49 [
50 '../ltb/ultra_long_26_35_list.txt',
51 '../ltb/ultra_long_36_55_list.txt',
52 '../ltb/ultra_long_56_list.txt',
53 ],
54 ]
55
56 cfg = cfg.cfg
57 cfg['Eval']['dataset']['name'] = 'SimpleDataSet'
58 file_csv = open(
59 cfg['Global']['output_dir'] + '/' +
60 cfg['Global']['output_dir'].split('/')[-1] +
61 '_result1_1_test_all_long_simple_bi_bs1.csv', 'w')
62 csv_w = csv.writer(file_csv)
63
64 for data_dirs in data_dirs_list:
65 acc_each = []
66 acc_each_num = []
67 acc_each_dis = []
68 each_long = {}
69 for datadir in data_dirs:
70 config_each = cfg.copy()
71 config_each['Eval']['dataset']['label_file_list'] = [datadir]
72 valid_dataloader = build_dataloader(config_each, 'Eval',
73 trainer.logger)
74 trainer.logger.info(
75 f'{datadir} valid dataloader has {len(valid_dataloader)} iters'
76 )
77 trainer.valid_dataloader = valid_dataloader
78 metric = trainer.eval()
79 acc_each.append(metric['acc'] * 100)
80 acc_each_dis.append(metric['norm_edit_dis'])
81 acc_each_num.append(metric['all_num'])

Callers 1

Calls 7

merge_dictMethod · 0.95
evalMethod · 0.95
ConfigClass · 0.90
TrainerClass · 0.90
build_dataloaderFunction · 0.90
getMethod · 0.80
parse_argsFunction · 0.70

Tested by

no test coverage detected