mshamrai commited on
Commit
04e0c94
·
1 Parent(s): 40db438

fix: pointer problem

Browse files
Files changed (2) hide show
  1. app.py +8 -48
  2. requirements.txt +3 -2
app.py CHANGED
@@ -1,5 +1,4 @@
1
  import os
2
- import json
3
  import requests
4
 
5
  import gradio as gr
@@ -8,7 +7,6 @@ from huggingface_hub import HfApi, hf_hub_download, snapshot_download
8
  from huggingface_hub.repocard import metadata_load
9
  from apscheduler.schedulers.background import BackgroundScheduler
10
 
11
- from tqdm.contrib.concurrent import thread_map
12
 
13
  from utils import *
14
 
@@ -190,55 +188,13 @@ def filter_students(model_ids):
190
  filtered.append(model_id)
191
  return filtered
192
 
193
- # Parralelized version
194
- def update_leaderboard_dataset_parallel(rl_env, path):
195
- # Get model ids associated with rl_env
196
- model_ids = get_model_ids(rl_env)
197
- model_ids = filter_students(model_ids)
198
-
199
- def process_model(model_id):
200
- meta = get_metadata(model_id)
201
- #LOADED_MODEL_METADATA[model_id] = meta if meta is not None else ''
202
- if meta is None:
203
- return None
204
- try:
205
- user_id = model_id.split('/')[0]
206
- row = {}
207
- row["User"] = user_id
208
- row["Model"] = model_id
209
- accuracy = parse_metrics_accuracy(meta)
210
- mean_reward, std_reward = parse_rewards(accuracy)
211
- mean_reward = mean_reward if not pd.isna(mean_reward) else 0
212
- std_reward = std_reward if not pd.isna(std_reward) else 0
213
- row["Results"] = mean_reward - std_reward
214
- row["Mean Reward"] = mean_reward
215
- row["Std Reward"] = std_reward
216
- return row
217
- except:
218
- return None
219
-
220
- data = list(thread_map(process_model, model_ids, desc="Processing models"))
221
-
222
- # Filter out None results (models with no metadata)
223
- data = [row for row in data if row is not None]
224
-
225
- ranked_dataframe = rank_dataframe(pd.DataFrame.from_records(data))
226
- new_history = ranked_dataframe
227
- file_path = path + "/" + rl_env + ".csv"
228
- new_history.to_csv(file_path, index=False)
229
-
230
- return ranked_dataframe
231
-
232
 
233
  def update_leaderboard_dataset(rl_env, path):
234
  # Get model ids associated with rl_env
235
  model_ids = get_model_ids(rl_env)
 
236
  data = []
237
  for model_id in model_ids:
238
- """
239
- readme_path = hf_hub_download(model_id, filename="README.md")
240
- meta = metadata_load(readme_path)
241
- """
242
  meta = get_metadata(model_id)
243
  #LOADED_MODEL_METADATA[model_id] = meta if meta is not None else ''
244
  if meta is None:
@@ -255,14 +211,15 @@ def update_leaderboard_dataset(rl_env, path):
255
  row["Mean Reward"] = mean_reward
256
  row["Std Reward"] = std_reward
257
  data.append(row)
 
 
 
258
 
259
  ranked_dataframe = rank_dataframe(pd.DataFrame.from_records(data))
260
  new_history = ranked_dataframe
261
  file_path = path + "/" + rl_env + ".csv"
262
  new_history.to_csv(file_path, index=False)
263
 
264
- return ranked_dataframe
265
-
266
  def download_leaderboard_dataset():
267
  path = snapshot_download(repo_id=DATASET_REPO_ID, repo_type="dataset")
268
  return path
@@ -273,6 +230,9 @@ def get_data(rl_env, path) -> pd.DataFrame:
273
  :return: data as a pandas DataFrame
274
  """
275
  csv_path = path + "/" + rl_env + ".csv"
 
 
 
276
  data = pd.read_csv(csv_path)
277
 
278
  for index, row in data.iterrows():
@@ -308,7 +268,7 @@ def run_update_dataset():
308
  path_ = download_leaderboard_dataset()
309
  for i in range(0, len(rl_envs)):
310
  rl_env = rl_envs[i]
311
- update_leaderboard_dataset_parallel(rl_env["rl_env"], path_)
312
 
313
  api.upload_folder(
314
  folder_path=path_,
 
1
  import os
 
2
  import requests
3
 
4
  import gradio as gr
 
7
  from huggingface_hub.repocard import metadata_load
8
  from apscheduler.schedulers.background import BackgroundScheduler
9
 
 
10
 
11
  from utils import *
12
 
 
188
  filtered.append(model_id)
189
  return filtered
190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
 
192
  def update_leaderboard_dataset(rl_env, path):
193
  # Get model ids associated with rl_env
194
  model_ids = get_model_ids(rl_env)
195
+ model_ids = filter_students(model_ids)
196
  data = []
197
  for model_id in model_ids:
 
 
 
 
198
  meta = get_metadata(model_id)
199
  #LOADED_MODEL_METADATA[model_id] = meta if meta is not None else ''
200
  if meta is None:
 
211
  row["Mean Reward"] = mean_reward
212
  row["Std Reward"] = std_reward
213
  data.append(row)
214
+
215
+ if not data:
216
+ return
217
 
218
  ranked_dataframe = rank_dataframe(pd.DataFrame.from_records(data))
219
  new_history = ranked_dataframe
220
  file_path = path + "/" + rl_env + ".csv"
221
  new_history.to_csv(file_path, index=False)
222
 
 
 
223
  def download_leaderboard_dataset():
224
  path = snapshot_download(repo_id=DATASET_REPO_ID, repo_type="dataset")
225
  return path
 
230
  :return: data as a pandas DataFrame
231
  """
232
  csv_path = path + "/" + rl_env + ".csv"
233
+ if not os.path.exists(csv_path):
234
+ return pd.DataFrame(columns=['Ranking', 'User', 'Model', 'Results', 'Mean Reward', 'Std Reward'])
235
+
236
  data = pd.read_csv(csv_path)
237
 
238
  for index, row in data.iterrows():
 
268
  path_ = download_leaderboard_dataset()
269
  for i in range(0, len(rl_envs)):
270
  rl_env = rl_envs[i]
271
+ update_leaderboard_dataset(rl_env["rl_env"], path_)
272
 
273
  api.upload_folder(
274
  folder_path=path_,
requirements.txt CHANGED
@@ -1,4 +1,5 @@
1
  APScheduler==3.10.1
2
- gradio==4.44.1
3
  httpx>=0.24.1
4
- tqdm
 
 
1
  APScheduler==3.10.1
2
+ gradio==5.49.1
3
  httpx>=0.24.1
4
+ tqdm
5
+ requests==2.32.5