mirror of
https://github.com/Doctorado-ML/benchmark.git
synced 2025-08-15 23:45:54 +00:00
Add move to hidden nan results to be_list
This commit is contained in:
@@ -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:
|
||||||
|
@@ -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),
|
||||||
|
)
|
||||||
|
@@ -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:
|
||||||
|
Reference in New Issue
Block a user