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.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:

View File

@@ -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),
)

View File

@@ -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: