Skip to content
Snippets Groups Projects
Commit 22cc51f4 authored by function2's avatar function2
Browse files

update model evaluation

parent e591f01f
Branches
No related tags found
No related merge requests found
...@@ -9,7 +9,7 @@ import importlib ...@@ -9,7 +9,7 @@ import importlib
from tqdm import tqdm from tqdm import tqdm
from convlab2.dst import DST from convlab2.dst import DST
from convlab2.dst.dstc9.utils import prepare_data, eval_states, dump_result from convlab2.dst.dstc9.utils import prepare_data, eval_states, dump_result, extract_gt
def evaluate(model_dir, subtask, test_data, gt): def evaluate(model_dir, subtask, test_data, gt):
...@@ -34,16 +34,28 @@ def evaluate(model_dir, subtask, test_data, gt): ...@@ -34,16 +34,28 @@ def evaluate(model_dir, subtask, test_data, gt):
dump_result(model_dir, 'model-result.json', result, errors, pred) dump_result(model_dir, 'model-result.json', result, errors, pred)
def eval_team(team):
for subtask in ['multiwoz', 'crosswoz']:
test_data = prepare_data(subtask, 'dstc9')
gt = extract_gt(test_data)
for i in range(1, 6):
model_dir = os.path.join(team, f'{subtask}-dst', f'submission{i}')
if not os.path.exists(model_dir):
continue
print(model_dir)
evaluate(model_dir, subtask, test_data, gt)
if __name__ == '__main__': if __name__ == '__main__':
from argparse import ArgumentParser from argparse import ArgumentParser
parser = ArgumentParser() parser = ArgumentParser()
parser.add_argument('subtask', type=str, choices=['multiwoz', 'crosswoz']) parser.add_argument('--teams', type=str, nargs='*')
parser.add_argument('split', type=str, choices=['train', 'val', 'test', 'human_val'])
args = parser.parse_args() args = parser.parse_args()
subtask = args.subtask if not args.teams:
test_data = prepare_data(subtask, args.split) for team in os.listdir('.'):
gt = { if not os.path.isdir(team):
dialog_id: [state for _, _, state in turns] continue
for dialog_id, turns in test_data.items() eval_team(team)
} else:
evaluate('example', subtask, test_data, gt) for team in args.teams:
eval_team(team)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment