Add move to hidden nan results to be_list

This commit is contained in:
2022-04-30 23:01:21 +02:00
parent a719098154
commit e70209fe50
3 changed files with 54 additions and 14 deletions

View File

@@ -1069,15 +1069,14 @@ class Summary:
self.datasets[result] = report.lines self.datasets[result] = report.lines
self.data.append(entry) self.data.append(entry)
def list_results( def get_results_criteria(
self, self,
score=None, score,
model=None, model,
input_data=None, input_data,
sort_key="date", sort_key,
number=0, number,
) -> None: ):
"""Print the list of results"""
data = self.data.copy() if input_data is None else input_data data = self.data.copy() if input_data is None else input_data
if score: if score:
data = [x for x in data if x["score"] == score] data = [x for x in data if x["score"] == score]
@@ -1091,6 +1090,20 @@ class Summary:
data = sorted(data, key=keys, reverse=True) data = sorted(data, key=keys, reverse=True)
if number > 0: if number > 0:
data = data[:number] 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_file = max(len(x["file"]) for x in data)
max_title = max(len(x["title"]) for x in data) max_title = max(len(x["title"]) for x in data)
if self.hidden: if self.hidden:

View File

@@ -1,6 +1,8 @@
#! /usr/bin/env python #! /usr/bin/env python
import os
import argparse import argparse
from benchmark.Results import Summary from benchmark.Results import Summary
from benchmark.Utils import Folders
"""List experiments of a model """List experiments of a model
""" """
@@ -9,11 +11,10 @@ from benchmark.Results import Summary
def parse_arguments(): def parse_arguments():
ap = argparse.ArgumentParser() ap = argparse.ArgumentParser()
ap.add_argument( ap.add_argument(
"-x", "--nan",
"--excel",
type=bool, type=bool,
required=False, required=False,
help="Generate Excel file", help="Move nan results to hidden folder",
) )
ap.add_argument( ap.add_argument(
"-s", "-s",
@@ -55,7 +56,7 @@ def parse_arguments():
args = ap.parse_args() args = ap.parse_args()
return ( return (
args.excel, args.nan,
args.score, args.score,
args.model, args.model,
args.key, args.key,
@@ -65,7 +66,33 @@ def parse_arguments():
if __name__ == "__main__": if __name__ == "__main__":
(excel, score, model, key, number, hidden) = parse_arguments() (nan, score, model, key, number, hidden) = parse_arguments()
data = Summary(hidden=hidden) data = Summary(hidden=hidden)
data.acquire() data.acquire()
data.list_results(score=score, model=model, sort_key=key, number=number) 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),
)

View File

@@ -148,7 +148,7 @@ class SummaryTest(TestBase):
report.list_results(score="accuracy", number=3) report.list_results(score="accuracy", number=3)
self.check_output_file(fake_out, "summary_list_n.test") 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 = Summary(hidden=True)
report.acquire() report.acquire()
with patch(self.output, new=StringIO()) as fake_out: with patch(self.output, new=StringIO()) as fake_out: