From 85a275f057271506e92a9ca42158b4940d194e1e Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Fri, 11 Jun 2021 14:20:41 +0200 Subject: [PATCH] Scores are now printed in deterministic order --- Train.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Train.py b/Train.py index 7985a45..01c5aaf 100644 --- a/Train.py +++ b/Train.py @@ -79,11 +79,12 @@ def evalModelAndSave(debug, model, ts, strat, dicts, modelDir, devFile, bestLoss outFilename = modelDir+"/predicted_dev.conllu" Decode.decodeMode(debug, devFile, "model", ts, strat, rewardFunc, predicted, modelDir, model, dicts, open(outFilename, "w")) res = evaluate(load_conllu(open(devFile, "r")), load_conllu(open(outFilename, "r")), []) - scores = [res[col2metric[col]][0].f1 for col in predicted] + toEval = sorted([col for col in predicted]) + scores = [res[col2metric[col]][0].f1 for col in toEval] score = sum(scores)/len(scores) saved = True if bestScore is None else score > bestScore bestScore = score if bestScore is None else max(bestScore, score) - devScore = ", Dev : "+" ".join(["%s=%.2f"%(col2metric[list(predicted)[i]], scores[i]) for i in range(len(predicted))]) + devScore = ", Dev : "+" ".join(["%s=%.2f"%(col2metric[toEval[i]], scores[i]) for i in range(len(toEval))]) if saved : torch.save(model, modelDir+"/network.pt") for out in [sys.stderr, open(modelDir+"/train.log", "w" if epoch == 1 else "a")] : -- GitLab