cchristophe commited on
Commit
351418d
·
verified ·
1 Parent(s): 752871e

handle subdirectory in requests queue

Browse files
Files changed (1) hide show
  1. src/populate.py +13 -27
src/populate.py CHANGED
@@ -45,19 +45,23 @@ def get_leaderboard_df(results_path: str, requests_path: str, cols: list, benchm
45
  df = df[has_no_nan_values(df, benchmark_cols)]
46
  return raw_data, df
47
 
48
-
49
  def get_evaluation_queue_df(save_path: str, cols: list) -> list[pd.DataFrame]:
50
  """Creates the different dataframes for the evaluation queues requestes"""
51
  entries = [entry for entry in os.listdir(save_path) if not entry.startswith(".")]
52
  all_evals = []
 
53
  for entry in entries:
54
- if ".json" in entry:
55
- file_path = os.path.join(save_path, entry)
56
- with open(file_path) as fp:
 
 
 
 
57
  data = json.load(fp)
 
58
  data[EvalQueueColumn.model.name] = make_clickable_model(data["model_name"]) if not data["private"] else data["model_name"]
59
  data[EvalQueueColumn.revision.name] = data.get("revision", "main")
60
- # changes to be made here
61
  data[EvalQueueColumn.closed_ended_status.name] = data["status"]["closed-ended"]
62
  data[EvalQueueColumn.open_ended_status.name] = data["status"]["open-ended"]
63
  data[EvalQueueColumn.med_safety_status.name] = data["status"]["med-safety"]
@@ -66,42 +70,24 @@ def get_evaluation_queue_df(save_path: str, cols: list) -> list[pd.DataFrame]:
66
  if PRIVATE_REPO:
67
  data[EvalQueueColumn.closed_ended_arabic_status.name] = data["status"]["closed-ended-arabic"]
68
  all_evals.append(data)
69
- elif ".md" not in entry:
70
- # this is a folder
71
- sub_entries = [e for e in os.listdir(f"{save_path}/{entry}") if not e.startswith(".")]
72
- for sub_entry in sub_entries:
73
- file_path = os.path.join(save_path, entry, sub_entry)
74
- with open(file_path) as fp:
75
- data = json.load(fp)
76
- # print(data)
77
- data[EvalQueueColumn.model.name] = make_clickable_model(data["model_name"]) if not data["private"] else data["model_name"]
78
- data[EvalQueueColumn.revision.name] = data.get("revision", "main")
79
- data[EvalQueueColumn.closed_ended_status.name] = data["status"]["closed-ended"]
80
- data[EvalQueueColumn.open_ended_status.name] = data["status"]["open-ended"]
81
- data[EvalQueueColumn.med_safety_status.name] = data["status"]["med-safety"]
82
- data[EvalQueueColumn.medical_summarization_status.name] = data["status"]["medical-summarization"]
83
- data[EvalQueueColumn.note_generation_status.name] = data["status"]["note-generation"]
84
- if PRIVATE_REPO:
85
- data[EvalQueueColumn.closed_ended_arabic_status.name] = data["status"]["closed-ended-arabic"]
86
- all_evals.append(data)
87
- # breakpoint()
88
  pending_list = []
89
  running_list = []
90
  finished_list = []
91
  for run in all_evals:
92
- # changes to be made here
93
  status_list = [run["status"]["closed-ended"], run["status"]["open-ended"], run["status"]["med-safety"], run["status"]["medical-summarization"], run["status"]["note-generation"]]
94
  if PRIVATE_REPO:
95
  status_list.append(run["status"]["closed-ended-arabic"])
96
- # status_list = status_list
97
  if "RUNNING" in status_list:
98
  running_list.append(run)
99
  elif "PENDING" in status_list or "RERUN" in status_list:
100
  pending_list.append(run)
101
  else:
102
  finished_list.append(run)
103
- # breakpoint()
104
  df_pending = pd.DataFrame.from_records(pending_list, columns=cols)
105
  df_running = pd.DataFrame.from_records(running_list, columns=cols)
106
  df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
 
107
  return df_finished[cols], df_running[cols], df_pending[cols]
 
45
  df = df[has_no_nan_values(df, benchmark_cols)]
46
  return raw_data, df
47
 
 
48
  def get_evaluation_queue_df(save_path: str, cols: list) -> list[pd.DataFrame]:
49
  """Creates the different dataframes for the evaluation queues requestes"""
50
  entries = [entry for entry in os.listdir(save_path) if not entry.startswith(".")]
51
  all_evals = []
52
+
53
  for entry in entries:
54
+ full_path = os.path.join(save_path, entry)
55
+
56
+ if os.path.isdir(full_path):
57
+ continue
58
+
59
+ if entry.endswith(".json"):
60
+ with open(full_path) as fp:
61
  data = json.load(fp)
62
+
63
  data[EvalQueueColumn.model.name] = make_clickable_model(data["model_name"]) if not data["private"] else data["model_name"]
64
  data[EvalQueueColumn.revision.name] = data.get("revision", "main")
 
65
  data[EvalQueueColumn.closed_ended_status.name] = data["status"]["closed-ended"]
66
  data[EvalQueueColumn.open_ended_status.name] = data["status"]["open-ended"]
67
  data[EvalQueueColumn.med_safety_status.name] = data["status"]["med-safety"]
 
70
  if PRIVATE_REPO:
71
  data[EvalQueueColumn.closed_ended_arabic_status.name] = data["status"]["closed-ended-arabic"]
72
  all_evals.append(data)
73
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  pending_list = []
75
  running_list = []
76
  finished_list = []
77
  for run in all_evals:
 
78
  status_list = [run["status"]["closed-ended"], run["status"]["open-ended"], run["status"]["med-safety"], run["status"]["medical-summarization"], run["status"]["note-generation"]]
79
  if PRIVATE_REPO:
80
  status_list.append(run["status"]["closed-ended-arabic"])
81
+
82
  if "RUNNING" in status_list:
83
  running_list.append(run)
84
  elif "PENDING" in status_list or "RERUN" in status_list:
85
  pending_list.append(run)
86
  else:
87
  finished_list.append(run)
88
+
89
  df_pending = pd.DataFrame.from_records(pending_list, columns=cols)
90
  df_running = pd.DataFrame.from_records(running_list, columns=cols)
91
  df_finished = pd.DataFrame.from_records(finished_list, columns=cols)
92
+
93
  return df_finished[cols], df_running[cols], df_pending[cols]