sh1gechan commited on
Commit
e08379a
·
verified ·
1 Parent(s): ce091df

Update src/leaderboard/read_evals.py

Browse files
Files changed (1) hide show
  1. src/leaderboard/read_evals.py +39 -7
src/leaderboard/read_evals.py CHANGED
@@ -45,9 +45,6 @@ class EvalResult:
45
  config = data.get("config")
46
  metainfo = config.get("metainfo", {})
47
  model_config = config.get("model", {})
48
- print(f"Config: {config}")
49
- print(f"Metainfo: {metainfo}")
50
- print(f"Model config: {model_config}")
51
 
52
  # Get model type from metainfo
53
  # model_type_str = metainfo.get("model_type", "")
@@ -60,7 +57,6 @@ class EvalResult:
60
  # Precision
61
  # precision = Precision.from_str(config.get("dtype"))
62
  precision = model_config.get("dtype", "Unknown")
63
- print(f"Precision: {precision}")
64
 
65
  # Add Special Tokens
66
  add_special_tokens = str(config.get("pipeline_kwargs",{"add_special_tokens":"Unknown"}).get("add_special_tokens"))
@@ -170,6 +166,27 @@ class EvalResult:
170
  return data_dict
171
 
172
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
  def get_request_file_for_model(requests_path, model_name, precision):
174
  """Selects the correct request file for a given model. Only keeps runs tagged as FINISHED"""
175
  request_files = os.path.join(
@@ -178,20 +195,35 @@ def get_request_file_for_model(requests_path, model_name, precision):
178
  )
179
  request_files = glob.glob(request_files)
180
 
181
- # Select correct request file (precision)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  request_file = ""
183
- request_files = sorted(request_files, reverse=True)
184
  for tmp_request_file in request_files:
185
  with open(tmp_request_file, "r") as f:
186
  req_content = json.load(f)
187
  if (
188
  req_content["status"] in ["FINISHED"]
189
- and req_content["precision"] == precision.split(".")[-1]
190
  ):
191
  request_file = tmp_request_file
192
  return request_file
193
 
194
 
 
195
  def get_raw_eval_results(results_path: str, requests_path: str) -> list[EvalResult]:
196
  """From the path of the results folder root, extract all needed info for results"""
197
  model_result_filepaths = []
 
45
  config = data.get("config")
46
  metainfo = config.get("metainfo", {})
47
  model_config = config.get("model", {})
 
 
 
48
 
49
  # Get model type from metainfo
50
  # model_type_str = metainfo.get("model_type", "")
 
57
  # Precision
58
  # precision = Precision.from_str(config.get("dtype"))
59
  precision = model_config.get("dtype", "Unknown")
 
60
 
61
  # Add Special Tokens
62
  add_special_tokens = str(config.get("pipeline_kwargs",{"add_special_tokens":"Unknown"}).get("add_special_tokens"))
 
166
  return data_dict
167
 
168
 
169
+ # def get_request_file_for_model(requests_path, model_name, precision):
170
+ # """Selects the correct request file for a given model. Only keeps runs tagged as FINISHED"""
171
+ # request_files = os.path.join(
172
+ # requests_path,
173
+ # f"{model_name}_eval_request_*.json",
174
+ # )
175
+ # request_files = glob.glob(request_files)
176
+
177
+ # # Select correct request file (precision)
178
+ # request_file = ""
179
+ # request_files = sorted(request_files, reverse=True)
180
+ # for tmp_request_file in request_files:
181
+ # with open(tmp_request_file, "r") as f:
182
+ # req_content = json.load(f)
183
+ # if (
184
+ # req_content["status"] in ["FINISHED"]
185
+ # and req_content["precision"] == precision.split(".")[-1]
186
+ # ):
187
+ # request_file = tmp_request_file
188
+ # return request_file
189
+
190
  def get_request_file_for_model(requests_path, model_name, precision):
191
  """Selects the correct request file for a given model. Only keeps runs tagged as FINISHED"""
192
  request_files = os.path.join(
 
195
  )
196
  request_files = glob.glob(request_files)
197
 
198
+ # Precisionの候補をリクエストファイルから動的に取得
199
+ precision_candidates = []
200
+ for request_file in request_files:
201
+ # ファイル名から precision を抽出する (例: _bfloat16_ や _float16_ を検出)
202
+ if "_bfloat16_" in request_file:
203
+ precision_candidates.append("bfloat16")
204
+ elif "_float16_" in request_file:
205
+ precision_candidates.append("float16")
206
+
207
+ # precisionがUnknownの場合、最初の候補を使用する
208
+ if precision == "Unknown" and precision_candidates:
209
+ precision = precision_candidates[0] # 最初の精度を使用(他の候補も考慮したければ処理を変更)
210
+
211
+ print(f"Final precision used for request file search: {precision}")
212
+
213
+ # precisionに基づいてファイルを検索
214
  request_file = ""
 
215
  for tmp_request_file in request_files:
216
  with open(tmp_request_file, "r") as f:
217
  req_content = json.load(f)
218
  if (
219
  req_content["status"] in ["FINISHED"]
220
+ and req_content["precision"] == precision
221
  ):
222
  request_file = tmp_request_file
223
  return request_file
224
 
225
 
226
+
227
  def get_raw_eval_results(results_path: str, requests_path: str) -> list[EvalResult]:
228
  """From the path of the results folder root, extract all needed info for results"""
229
  model_result_filepaths = []