From e70209fe506e6df03b73a56c5c4856680c302b95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ricardo=20Montan=CC=83ana?= Date: Sat, 30 Apr 2022 23:01:21 +0200 Subject: [PATCH] Add move to hidden nan results to be_list --- benchmark/Results.py | 29 +++++++++++++++++++------- benchmark/scripts/be_list | 37 ++++++++++++++++++++++++++++----- benchmark/tests/Summary_test.py | 2 +- 3 files changed, 54 insertions(+), 14 deletions(-) diff --git a/benchmark/Results.py b/benchmark/Results.py index f51a2d3..9a4659d 100644 --- a/benchmark/Results.py +++ b/benchmark/Results.py @@ -1069,15 +1069,14 @@ class Summary: self.datasets[result] = report.lines self.data.append(entry) - def list_results( + def get_results_criteria( self, - score=None, - model=None, - input_data=None, - sort_key="date", - number=0, - ) -> None: - """Print the list of results""" + score, + model, + input_data, + sort_key, + number, + ): data = self.data.copy() if input_data is None else input_data if score: data = [x for x in data if x["score"] == score] @@ -1091,6 +1090,20 @@ class Summary: data = sorted(data, key=keys, reverse=True) if number > 0: data = data[:number] + return data + + def list_results( + self, + score=None, + model=None, + input_data=None, + sort_key="date", + number=0, + ) -> None: + """Print the list of results""" + data = self.get_results_criteria( + score, model, input_data, sort_key, number + ) max_file = max(len(x["file"]) for x in data) max_title = max(len(x["title"]) for x in data) if self.hidden: diff --git a/benchmark/scripts/be_list b/benchmark/scripts/be_list index 0fc742b..d903590 100755 --- a/benchmark/scripts/be_list +++ b/benchmark/scripts/be_list @@ -1,6 +1,8 @@ #! /usr/bin/env python +import os import argparse from benchmark.Results import Summary +from benchmark.Utils import Folders """List experiments of a model """ @@ -9,11 +11,10 @@ from benchmark.Results import Summary def parse_arguments(): ap = argparse.ArgumentParser() ap.add_argument( - "-x", - "--excel", + "--nan", type=bool, required=False, - help="Generate Excel file", + help="Move nan results to hidden folder", ) ap.add_argument( "-s", @@ -55,7 +56,7 @@ def parse_arguments(): args = ap.parse_args() return ( - args.excel, + args.nan, args.score, args.model, args.key, @@ -65,7 +66,33 @@ def parse_arguments(): if __name__ == "__main__": - (excel, score, model, key, number, hidden) = parse_arguments() + (nan, score, model, key, number, hidden) = parse_arguments() data = Summary(hidden=hidden) data.acquire() data.list_results(score=score, model=model, sort_key=key, number=number) + if nan: + results_nan = [] + results = data.get_results_criteria( + score=score, + model=model, + input_data=None, + sort_key=key, + number=number, + ) + for result in results: + if result["metric"] != result["metric"]: + results_nan.append(result) + if results_nan != []: + print( + "\n" + + "*" * 30 + + " Results with nan moved to hidden " + + "*" * 30 + ) + data.list_results(input_data=results_nan) + for result in results_nan: + name = result["file"] + os.rename( + os.path.join(Folders.results, name), + os.path.join(Folders.hidden_results, name), + ) diff --git a/benchmark/tests/Summary_test.py b/benchmark/tests/Summary_test.py index bd5b0b7..644e0d8 100644 --- a/benchmark/tests/Summary_test.py +++ b/benchmark/tests/Summary_test.py @@ -148,7 +148,7 @@ class SummaryTest(TestBase): report.list_results(score="accuracy", number=3) self.check_output_file(fake_out, "summary_list_n.test") - def test_summary_list_hiden(self): + def test_summary_list_hidden(self): report = Summary(hidden=True) report.acquire() with patch(self.output, new=StringIO()) as fake_out: