gblazex commited on
Commit
ba6236f
·
1 Parent(s): 1246de6

Update src/leaderboard/read_evals.py

Browse files
Files changed (1) hide show
  1. src/leaderboard/read_evals.py +45 -1
src/leaderboard/read_evals.py CHANGED
@@ -12,6 +12,49 @@ from src.display.utils import AutoEvalColumn, ModelType, Tasks, Precision, Weigh
12
  from src.submission.check_validity import is_model_on_hub
13
 
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
  @dataclass
16
  class EvalResult:
17
  eval_name: str # org_model_precision (uid)
@@ -122,7 +165,8 @@ class EvalResult:
122
  self.model_type = ModelType.from_str(request.get("model_type", ""))
123
  self.weight_type = WeightType[request.get("weight_type", "Original")]
124
  self.license = request.get("license", "?")
125
- self.likes = request.get("likes", 0)
 
126
  self.num_params = request.get("params", 0)
127
  self.date = request.get("submitted_time", "")
128
  except Exception:
 
12
  from src.submission.check_validity import is_model_on_hub
13
 
14
 
15
+ # blz ---------------
16
+
17
+ # read pickle file from external url
18
+ import requests
19
+ import pickle
20
+ from io import BytesIO
21
+
22
+ def load_pickle_from_url(url):
23
+ try:
24
+ response = requests.get(url)
25
+ response.raise_for_status() # Ensure the request was successful
26
+ pickle_data = BytesIO(response.content)
27
+ data = pickle.load(pickle_data)
28
+ return data
29
+ except Exception as e:
30
+ return str(e)
31
+
32
+ def drive_link_from_id(drive_id):
33
+ return f"https://drive.google.com/uc?export=download&id={drive_id}"
34
+
35
+ # turn array of objects, into a dictionary by given key
36
+ # and optionally extracting a keyed value
37
+ def array_to_dict(arr, key, val=None):
38
+ return {item[key]: item.get(val, item) for item in arr}
39
+
40
+
41
+ drive_id_json = "1CNQI6kFA9ogvMRpYpAUiLXYz0naDqcie"
42
+ drive_id_pkl = "1Oi5iIs6kpufJO9Xe05oJqhU75W69cOZW"
43
+
44
+ # json
45
+ url = drive_link_from_id(drive_id_json)
46
+ #response = requests.get(url=url)
47
+ #data = response.json()
48
+
49
+ url = drive_link_from_id(drive_id_pkl)
50
+ data = load_pickle_from_url(url)
51
+
52
+ likes_for_model = array_to_dict(arr=data, key="modelId", val="likes")
53
+
54
+
55
+ # blz end -------------
56
+
57
+
58
  @dataclass
59
  class EvalResult:
60
  eval_name: str # org_model_precision (uid)
 
165
  self.model_type = ModelType.from_str(request.get("model_type", ""))
166
  self.weight_type = WeightType[request.get("weight_type", "Original")]
167
  self.license = request.get("license", "?")
168
+ self.likes = likes_for_model.get(full_model, request.get("likes", 0)) # blz
169
+ # self.likes = request.get("likes", 0) blz
170
  self.num_params = request.get("params", 0)
171
  self.date = request.get("submitted_time", "")
172
  except Exception: