nlamot commited on
Commit
012b510
1 Parent(s): d625373

Handle accuracy data missing the spaces around +/-

Browse files

The current leaderboard is raising a runtime error when invalid accuracy data is processed. This results in the following stack trace:
Traceback (most recent call last):
File "/home/user/app/app.py", line 292, in <module>
run_update_dataset()
File "/home/user/app/app.py", line 270, in run_update_dataset
update_leaderboard_dataset(rl_env["rl_env"], path_)
File "/home/user/app/app.py", line 212, in update_leaderboard_dataset
mean_reward, std_reward = parse_rewards(accuracy)
File "/home/user/app/app.py", line 175, in parse_rewards
mean_reward = float(parsed[0])
ValueError: could not convert string to float: '1.0000+/-0.00'

Based on this, it seems this data misses the spaces that were expected around "+/-". I updated the logic so it can handle both "+/-" and " +/- ".
I don't know if this is an acceptable change, but I thought to create a PR for it anyway since the current leaderboard is broken.

Files changed (1) hide show
  1. app.py +7 -8
app.py CHANGED
@@ -167,14 +167,13 @@ def parse_rewards(accuracy):
167
  default_reward=-1000
168
  if accuracy != None:
169
  accuracy = str(accuracy)
170
- parsed = accuracy.split(' +/- ')
171
- if len(parsed)>1:
172
- mean_reward = float(parsed[0])
173
- std_reward = float(parsed[1])
174
- elif len(parsed)==1: #only mean reward
175
- mean_reward = float(parsed[0])
176
- std_reward = float(0)
177
-
178
  else:
179
  mean_reward = float(default_std)
180
  std_reward = float(default_reward)
 
167
  default_reward=-1000
168
  if accuracy != None:
169
  accuracy = str(accuracy)
170
+ parsed = accuracy.split('+/-')
171
+ if len(parsed)>1):
172
+ mean_reward = float(parsed[0].strip())
173
+ std_reward = float(parsed[1].strip())
174
+ elif len(parsed)==1): #only mean reward
175
+ mean_reward = float(parsed[0].strip())
176
+ std_reward = float(0)
 
177
  else:
178
  mean_reward = float(default_std)
179
  std_reward = float(default_reward)