chrisjay commited on
Commit
7fa09dc
1 Parent(s): fb67b80

adding reload button

Browse files
Files changed (1) hide show
  1. app.py +43 -8
app.py CHANGED
@@ -38,7 +38,7 @@ def parse_metrics_accuracy(meta):
38
  result = meta["model-index"][0]["results"]
39
  metrics = result[0]["metrics"]
40
  accuracy = metrics[0]["value"]
41
- print("ACCURACY", accuracy)
42
  return accuracy
43
 
44
  # We keep the worst case episode
@@ -64,9 +64,9 @@ def get_data(rl_env):
64
  row["User"] = user_id
65
  row["Model"] = model_id
66
  accuracy = parse_metrics_accuracy(meta)
67
- print("RETURNED ACCURACY", accuracy)
68
  mean_reward, std_reward = parse_rewards(accuracy)
69
- print("MEAN REWARD", mean_reward)
70
  row["Results"] = mean_reward - std_reward
71
  row["Mean Reward"] = mean_reward
72
  row["Std Reward"] = std_reward
@@ -86,9 +86,9 @@ def get_data_per_env(rl_env):
86
  table_html = dataframe.to_html(escape=False, index=False)
87
  table_html = table_html.replace("<table>", '<table style="width: 100%; margin: auto; border:0.5px solid; border-spacing: 7px 0px">') # center-align the headers
88
 
89
- table_html = table_html.replace("<thead>", '<thead align="center">') # center-align the headers
90
 
91
- table_html = "<div style='text-align: center ; width:100%'>"+table_html+"</div>"
92
  return table_html,dataframe,dataframe.empty
93
  else:
94
  html = """<div style="color: green">
@@ -100,12 +100,45 @@ def get_data_per_env(rl_env):
100
 
101
 
102
  RL_ENVS = ['LunarLander-v2','CarRacing-v0','MountainCar-v0']
 
103
  RL_DETAILS ={'CarRacing-v0':{'title':" The Car Racing 🏎️ Leaderboard 🚀",'data':get_data_per_env('CarRacing-v0')},
104
  'MountainCar-v0':{'title':"The Mountain Car ⛰️ 🚗 Leaderboard 🚀",'data':get_data_per_env('MountainCar-v0')},
105
  'LunarLander-v2':{'title':" The Lunar Lander 🌕 Leaderboard 🚀",'data':get_data_per_env('LunarLander-v2')}
106
  }
107
 
108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  block = gr.Blocks()
110
  with block:
111
 
@@ -134,9 +167,11 @@ with block:
134
  # {name_leaderboard}
135
  """.format(name_leaderboard = RL_DETAILS[rl_env]['title'])
136
 
137
-
138
- gr.Markdown(markdown)
139
- gr.HTML(data_html)
 
 
140
 
141
 
142
  block.launch()
 
38
  result = meta["model-index"][0]["results"]
39
  metrics = result[0]["metrics"]
40
  accuracy = metrics[0]["value"]
41
+ #print("ACCURACY", accuracy)
42
  return accuracy
43
 
44
  # We keep the worst case episode
 
64
  row["User"] = user_id
65
  row["Model"] = model_id
66
  accuracy = parse_metrics_accuracy(meta)
67
+ #print("RETURNED ACCURACY", accuracy)
68
  mean_reward, std_reward = parse_rewards(accuracy)
69
+ #print("MEAN REWARD", mean_reward)
70
  row["Results"] = mean_reward - std_reward
71
  row["Mean Reward"] = mean_reward
72
  row["Std Reward"] = std_reward
 
86
  table_html = dataframe.to_html(escape=False, index=False)
87
  table_html = table_html.replace("<table>", '<table style="width: 100%; margin: auto; border:0.5px solid; border-spacing: 7px 0px">') # center-align the headers
88
 
89
+ table_html = table_html.replace("<thead>", '<thead align="left">') # left-align the headers
90
 
91
+ table_html = "<div style='text-align: left ; width:100%'>"+table_html+"</div>"
92
  return table_html,dataframe,dataframe.empty
93
  else:
94
  html = """<div style="color: green">
 
100
 
101
 
102
  RL_ENVS = ['LunarLander-v2','CarRacing-v0','MountainCar-v0']
103
+
104
  RL_DETAILS ={'CarRacing-v0':{'title':" The Car Racing 🏎️ Leaderboard 🚀",'data':get_data_per_env('CarRacing-v0')},
105
  'MountainCar-v0':{'title':"The Mountain Car ⛰️ 🚗 Leaderboard 🚀",'data':get_data_per_env('MountainCar-v0')},
106
  'LunarLander-v2':{'title':" The Lunar Lander 🌕 Leaderboard 🚀",'data':get_data_per_env('LunarLander-v2')}
107
  }
108
 
109
 
110
+ def reload_leaderboard(rl_env):
111
+ #import pdb;pdb.set_trace()
112
+ global RL_DETAILS
113
+ RL_DETAILS[rl_env]['data'] = get_data_per_env(rl_env)
114
+
115
+ data_html,data_dataframe,is_empty = RL_DETAILS[rl_env]['data']
116
+
117
+ if not is_empty:
118
+ markdown = """
119
+ # {name_leaderboard}
120
+
121
+ This is a leaderboard of **{len_dataframe}** agents playing {env_name} 👩‍🚀.
122
+
123
+ We use lower bound result to sort the models: mean_reward - std_reward.
124
+
125
+ You can click on the model's name to be redirected to its model card which includes documentation.
126
+
127
+ You want to try your model? Read this [Unit 1](https://github.com/huggingface/deep-rl-class/blob/Unit1/unit1/README.md) of Deep Reinforcement Learning Class.
128
+
129
+
130
+ """.format(len_dataframe = len(data_dataframe),env_name = rl_env,name_leaderboard = RL_DETAILS[rl_env]['title'])
131
+
132
+ else:
133
+ markdown = """
134
+ # {name_leaderboard}
135
+ """.format(name_leaderboard = RL_DETAILS[rl_env]['title'])
136
+
137
+ return markdown,data_html
138
+
139
+
140
+
141
+
142
  block = gr.Blocks()
143
  with block:
144
 
 
167
  # {name_leaderboard}
168
  """.format(name_leaderboard = RL_DETAILS[rl_env]['title'])
169
 
170
+ reload = gr.Button('Reload Leaderboard')
171
+ #env_state = gr.State(rl_env)
172
+ output_markdown = gr.Markdown(markdown)
173
+ output_html = gr.HTML(data_html)
174
+ reload.click(reload_leaderboard,inputs=[rl_env],outputs=[output_markdown,output_html])
175
 
176
 
177
  block.launch()