|
import json
|
|
from pathlib import Path
|
|
from tabulate import tabulate
|
|
|
|
|
|
RESULTS_DIRECTORY = "../results"
|
|
|
|
|
|
def results_data(results_dir=RESULTS_DIRECTORY):
|
|
datas = []
|
|
directory = Path(results_dir)
|
|
file_path_list = [f for f in directory.rglob("*metrics.json") if f.is_file()]
|
|
for file_path in file_path_list:
|
|
with open(file_path, "r", encoding="utf-8") as file:
|
|
datas.append(json.load(file))
|
|
return datas
|
|
|
|
|
|
def format_as_small_rows():
|
|
headers = ["Model", "Task", "Metric", "Results"]
|
|
rows = []
|
|
for data in results_data():
|
|
model_name = data["model_name"]
|
|
for task in data["tasks"]:
|
|
for task_name, metrics_values in task.items():
|
|
for metric_name, metric_values in metrics_values.items():
|
|
formatted_metrics = "||".join(
|
|
[
|
|
f"{key}:{value:.4f}"
|
|
for key, value in metric_values.items()
|
|
if isinstance(value, (int, float))
|
|
]
|
|
)
|
|
rows.append([model_name, task_name, metric_name, formatted_metrics])
|
|
markdown_tb = tabulate(rows, headers=headers, tablefmt="github")
|
|
return markdown_tb
|
|
|