rogermt commited on
Commit
d6fa885
·
verified ·
1 Parent(s): 423c06d

Update neurogolf_solver.py

Browse files
Files changed (1) hide show
  1. neurogolf_solver.py +13 -8
neurogolf_solver.py CHANGED
@@ -976,7 +976,9 @@ def solve_task(tn, td, outdir, conv_budget=30.0):
976
 
977
  def run_tasks(task_nums, tasks, output_dir, conv_budget, use_wandb):
978
  results = {}
979
-
 
 
980
  for tn in task_nums:
981
  if tn not in tasks:
982
  continue
@@ -991,13 +993,15 @@ def run_tasks(task_nums, tasks, output_dir, conv_budget, use_wandb):
991
  macs, memory, params = 0, 0, 0
992
  except:
993
  macs, memory, params = 0, 0, 0
994
- score = macs + memory + params
 
 
995
 
996
  results[tn] = (sname, t_task, sz)
997
- print(f"Task {tn:3d}: {sname:25s} {score:>12} {t_task:7.3f}s ({sz:>8,} bytes)")
998
  else:
999
  print(f"Task {tn:3d}: UNSOLVED {t_task:7.3f}s")
1000
- macs, memory, params, score = 0, 0, 0, 0
1001
 
1002
  if use_wandb and wandb is not None:
1003
  wandb.log({
@@ -1008,10 +1012,11 @@ def run_tasks(task_nums, tasks, output_dir, conv_budget, use_wandb):
1008
  "macs": macs,
1009
  "memory": memory,
1010
  "params": params,
 
1011
  "score": score,
1012
  })
1013
 
1014
- return results
1015
 
1016
 
1017
  def main():
@@ -1052,9 +1057,9 @@ def main():
1052
  name="solver_run",
1053
  config=config,
1054
  ):
1055
- results = run_tasks(task_nums, tasks, args.output_dir, args.conv_budget, use_wandb=True)
1056
  else:
1057
- results = run_tasks(task_nums, tasks, args.output_dir, args.conv_budget, use_wandb=False)
1058
 
1059
  elapsed = time.time() - t0
1060
  print(f"\n{'='*70}")
@@ -1065,7 +1070,7 @@ def main():
1065
  n_files = len([f for f in os.listdir(args.output_dir) if f.endswith('.onnx')])
1066
  total_size = sum(os.path.getsize(os.path.join(args.output_dir, f))
1067
  for f in os.listdir(args.output_dir) if f.endswith('.onnx'))
1068
- print(f"\n{n_files} ONNX files, total {total_size/1024:.1f} KB")
1069
 
1070
  if __name__ == '__main__':
1071
  main()
 
976
 
977
  def run_tasks(task_nums, tasks, output_dir, conv_budget, use_wandb):
978
  results = {}
979
+ cost = 0
980
+ score = 0
981
+ total_score = 0
982
  for tn in task_nums:
983
  if tn not in tasks:
984
  continue
 
993
  macs, memory, params = 0, 0, 0
994
  except:
995
  macs, memory, params = 0, 0, 0
996
+ cost = macs + memory + params
997
+ score = max(1, 25 - math.log(max(1, cost)))
998
+ total_score += score
999
 
1000
  results[tn] = (sname, t_task, sz)
1001
+ print(f"Task {tn:3d}: {sname:25s} {score:7.3f} {cost:>12} {t_task:7.3f}s ({sz:>8,} bytes)")
1002
  else:
1003
  print(f"Task {tn:3d}: UNSOLVED {t_task:7.3f}s")
1004
+ macs, memory, params, cost = 0, 0, 0, 0
1005
 
1006
  if use_wandb and wandb is not None:
1007
  wandb.log({
 
1012
  "macs": macs,
1013
  "memory": memory,
1014
  "params": params,
1015
+ "cost": cost,
1016
  "score": score,
1017
  })
1018
 
1019
+ return results, total_score
1020
 
1021
 
1022
  def main():
 
1057
  name="solver_run",
1058
  config=config,
1059
  ):
1060
+ results, total_score = run_tasks(task_nums, tasks, args.output_dir, args.conv_budget, use_wandb=True)
1061
  else:
1062
+ results, total_score = run_tasks(task_nums, tasks, args.output_dir, args.conv_budget, use_wandb=False)
1063
 
1064
  elapsed = time.time() - t0
1065
  print(f"\n{'='*70}")
 
1070
  n_files = len([f for f in os.listdir(args.output_dir) if f.endswith('.onnx')])
1071
  total_size = sum(os.path.getsize(os.path.join(args.output_dir, f))
1072
  for f in os.listdir(args.output_dir) if f.endswith('.onnx'))
1073
+ print(f"\n{n_files} ONNX files, Total local estimated score: {total_score:.1f} total {total_size/1024:.1f} KB")
1074
 
1075
  if __name__ == '__main__':
1076
  main()