MCPcopy Create free account
hub / github.com/binbinjiang/CVT-SLR / seq_eval

Function seq_eval

seq_scripts.py:5–27  ·  view source on GitHub ↗
(cfg, loader, model, device, mode, epoch, work_dir, recoder)

Source from the content-addressed store, hash-verified

3from tqdm import tqdm
4
5def seq_eval(cfg, loader, model, device, mode, epoch, work_dir, recoder):
6 model.eval()
7 total_sent = []
8 total_info = []
9 for data in tqdm(loader):
10 recoder.record_timer("device")
11 vid = device.data_to_device(data[0])
12 vid_lgt = device.data_to_device(data[1])
13 with torch.no_grad():
14 ret_dict = model.eval_network(vid, vid_lgt)
15
16 total_info += [file_name.split("|")[0] for file_name in data[-1]]
17 total_sent += ret_dict['recognized_sents']
18
19 write2file(work_dir + "output-hypothesis-{}.ctm".format(mode), total_info, total_sent)
20 ret = evaluate(
21 prefix=work_dir, mode=mode, output_file="output-hypothesis-{}.ctm".format(mode),
22 evaluate_dir=cfg.dataset_info['evaluation_dir'],
23 evaluate_prefix=cfg.dataset_info['evaluation_prefix']
24 )
25
26 recoder.print_log(f"Epoch {epoch}, {mode} {ret: 2.2f}%", f"{work_dir}/{mode}.txt")
27 return ret
28
29
30def write2file(path, info, output):

Callers 1

evalMethod · 0.90

Calls 7

evaluateFunction · 0.90
write2fileFunction · 0.85
evalMethod · 0.80
record_timerMethod · 0.80
data_to_deviceMethod · 0.80
eval_networkMethod · 0.80
print_logMethod · 0.80

Tested by

no test coverage detected