Spaces:
Running
Running
Bokeh figure - change category according to the dropdown
Browse files
app.py
CHANGED
@@ -199,6 +199,10 @@ def submit_results(*inputs):
|
|
199 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
200 |
visible=True,
|
201 |
)
|
|
|
|
|
|
|
|
|
202 |
submission_ids_and_titles = get_submission_ids_and_titles()
|
203 |
|
204 |
return (
|
@@ -213,6 +217,7 @@ def submit_results(*inputs):
|
|
213 |
gr.update(visible=False),
|
214 |
leaderboard,
|
215 |
leaderboard_csv,
|
|
|
216 |
gr.update(visible=False),
|
217 |
gr.update(choices=submission_ids_and_titles),
|
218 |
gr.update(value=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
@@ -324,11 +329,16 @@ def change_leaderboard_category(category, selected_submission_id):
|
|
324 |
value=leaderboard_server.get_leaderboard_csv(category=category),
|
325 |
visible=True,
|
326 |
)
|
|
|
|
|
|
|
|
|
327 |
|
328 |
return (
|
329 |
leaderboard,
|
330 |
leaderboard_csv,
|
331 |
task_abbreviation_legend,
|
|
|
332 |
tournament_results_title,
|
333 |
tournament_results_dropdown,
|
334 |
model_tournament_results_table,
|
@@ -431,11 +441,16 @@ def on_application_load():
|
|
431 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
432 |
visible=True,
|
433 |
)
|
|
|
|
|
|
|
|
|
434 |
submission_ids_and_titles = get_submission_ids_and_titles()
|
435 |
|
436 |
return (
|
437 |
leaderboard,
|
438 |
leaderboard_csv,
|
|
|
439 |
gr.update(choices=submission_ids_and_titles),
|
440 |
gr.update(value=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
441 |
gr.update(choices=submission_ids_and_titles),
|
@@ -654,12 +669,6 @@ def gradio_app():
|
|
654 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
655 |
)
|
656 |
|
657 |
-
with gr.Row():
|
658 |
-
gr.Plot(
|
659 |
-
value=leaderboard_server.get_bokeh_figure(),
|
660 |
-
#label='Foo',
|
661 |
-
)
|
662 |
-
|
663 |
with gr.Row():
|
664 |
leaderboard_table_legend = gr.DataFrame(
|
665 |
value=None,
|
@@ -676,6 +685,12 @@ def gradio_app():
|
|
676 |
elem_classes="leaderboard-table-legend",
|
677 |
)
|
678 |
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
with gr.Row():
|
680 |
tournament_results_title = gr.Markdown(
|
681 |
value="## Tournament results for selected model",
|
@@ -717,6 +732,7 @@ def gradio_app():
|
|
717 |
leaderboard_table,
|
718 |
leaderboard_table_csv,
|
719 |
leaderboard_table_legend,
|
|
|
720 |
tournament_results_title,
|
721 |
tournament_results_dropdown,
|
722 |
model_tournament_results_table,
|
@@ -972,6 +988,7 @@ def gradio_app():
|
|
972 |
pre_submit_model_tournament_results_table_csv,
|
973 |
leaderboard_table,
|
974 |
leaderboard_table_csv,
|
|
|
975 |
modal_submit,
|
976 |
model_details_model_dropdown,
|
977 |
leaderboard_category_of_tasks,
|
@@ -1040,6 +1057,7 @@ def gradio_app():
|
|
1040 |
outputs=[
|
1041 |
leaderboard_table,
|
1042 |
leaderboard_table_csv,
|
|
|
1043 |
model_details_model_dropdown,
|
1044 |
leaderboard_category_of_tasks,
|
1045 |
tournament_results_dropdown,
|
|
|
199 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
200 |
visible=True,
|
201 |
)
|
202 |
+
leaderboard_scatter_plot = gr.update(
|
203 |
+
value=leaderboard_server.get_bokeh_figure(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
204 |
+
visible=True,
|
205 |
+
)
|
206 |
submission_ids_and_titles = get_submission_ids_and_titles()
|
207 |
|
208 |
return (
|
|
|
217 |
gr.update(visible=False),
|
218 |
leaderboard,
|
219 |
leaderboard_csv,
|
220 |
+
leaderboard_scatter_plot,
|
221 |
gr.update(visible=False),
|
222 |
gr.update(choices=submission_ids_and_titles),
|
223 |
gr.update(value=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
|
|
329 |
value=leaderboard_server.get_leaderboard_csv(category=category),
|
330 |
visible=True,
|
331 |
)
|
332 |
+
leaderboard_scatter_plot = gr.update(
|
333 |
+
value=leaderboard_server.get_bokeh_figure(category=category),
|
334 |
+
visible=True,
|
335 |
+
)
|
336 |
|
337 |
return (
|
338 |
leaderboard,
|
339 |
leaderboard_csv,
|
340 |
task_abbreviation_legend,
|
341 |
+
leaderboard_scatter_plot,
|
342 |
tournament_results_title,
|
343 |
tournament_results_dropdown,
|
344 |
model_tournament_results_table,
|
|
|
441 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
442 |
visible=True,
|
443 |
)
|
444 |
+
leaderboard_scatter_plot = gr.update(
|
445 |
+
value=leaderboard_server.get_bokeh_figure(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
446 |
+
visible=True,
|
447 |
+
)
|
448 |
submission_ids_and_titles = get_submission_ids_and_titles()
|
449 |
|
450 |
return (
|
451 |
leaderboard,
|
452 |
leaderboard_csv,
|
453 |
+
leaderboard_scatter_plot,
|
454 |
gr.update(choices=submission_ids_and_titles),
|
455 |
gr.update(value=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
456 |
gr.update(choices=submission_ids_and_titles),
|
|
|
669 |
value=leaderboard_server.get_leaderboard_csv(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
670 |
)
|
671 |
|
|
|
|
|
|
|
|
|
|
|
|
|
672 |
with gr.Row():
|
673 |
leaderboard_table_legend = gr.DataFrame(
|
674 |
value=None,
|
|
|
685 |
elem_classes="leaderboard-table-legend",
|
686 |
)
|
687 |
|
688 |
+
with gr.Row():
|
689 |
+
leaderboard_scatter_plot = gr.Plot(
|
690 |
+
value=leaderboard_server.get_bokeh_figure(category=leaderboard_server.TASKS_CATEGORY_OVERALL),
|
691 |
+
label='Scatter plot',
|
692 |
+
)
|
693 |
+
|
694 |
with gr.Row():
|
695 |
tournament_results_title = gr.Markdown(
|
696 |
value="## Tournament results for selected model",
|
|
|
732 |
leaderboard_table,
|
733 |
leaderboard_table_csv,
|
734 |
leaderboard_table_legend,
|
735 |
+
leaderboard_scatter_plot,
|
736 |
tournament_results_title,
|
737 |
tournament_results_dropdown,
|
738 |
model_tournament_results_table,
|
|
|
988 |
pre_submit_model_tournament_results_table_csv,
|
989 |
leaderboard_table,
|
990 |
leaderboard_table_csv,
|
991 |
+
leaderboard_scatter_plot,
|
992 |
modal_submit,
|
993 |
model_details_model_dropdown,
|
994 |
leaderboard_category_of_tasks,
|
|
|
1057 |
outputs=[
|
1058 |
leaderboard_table,
|
1059 |
leaderboard_table_csv,
|
1060 |
+
leaderboard_scatter_plot,
|
1061 |
model_details_model_dropdown,
|
1062 |
leaderboard_category_of_tasks,
|
1063 |
tournament_results_dropdown,
|
server.py
CHANGED
@@ -622,7 +622,7 @@ class LeaderboardServer:
|
|
622 |
dataframe.to_csv(filepath, index=False)
|
623 |
return filepath
|
624 |
|
625 |
-
def get_bokeh_figure(self):
|
626 |
import numpy as np
|
627 |
from analyze_winscore import get_ldb_records, create_scatter_plot_with_curve_with_variances_named
|
628 |
|
@@ -630,13 +630,18 @@ class LeaderboardServer:
|
|
630 |
#tournament = self.tournament_results
|
631 |
name_map = self.submission_id_to_model_title
|
632 |
|
633 |
-
category = self.TASKS_CATEGORY_OVERALL
|
634 |
-
|
|
|
635 |
ldb_records = get_ldb_records(name_map, csv_file_path)
|
636 |
categories = self.TASKS_CATEGORIES
|
637 |
model_names = list(ldb_records.keys())
|
638 |
sizes = [float(ldb_records[model]['# θ (B)']) for model in model_names]
|
639 |
-
|
|
|
|
|
|
|
|
|
640 |
|
641 |
variances={}
|
642 |
for model, record in ldb_records.items():
|
@@ -647,8 +652,13 @@ class LeaderboardServer:
|
|
647 |
print(min(variances.values()))
|
648 |
variance_across_categories = variances
|
649 |
|
|
|
|
|
|
|
|
|
|
|
650 |
fig = create_scatter_plot_with_curve_with_variances_named(
|
651 |
-
|
652 |
variance_across_categories,
|
653 |
sizes,
|
654 |
average_performance,
|
|
|
622 |
dataframe.to_csv(filepath, index=False)
|
623 |
return filepath
|
624 |
|
625 |
+
def get_bokeh_figure(self, pre_submit=None, category=None):
|
626 |
import numpy as np
|
627 |
from analyze_winscore import get_ldb_records, create_scatter_plot_with_curve_with_variances_named
|
628 |
|
|
|
630 |
#tournament = self.tournament_results
|
631 |
name_map = self.submission_id_to_model_title
|
632 |
|
633 |
+
category = category if category else self.TASKS_CATEGORY_OVERALL
|
634 |
+
|
635 |
+
csv_file_path = self.leaderboard_dataframes_csv[self.TASKS_CATEGORY_OVERALL]
|
636 |
ldb_records = get_ldb_records(name_map, csv_file_path)
|
637 |
categories = self.TASKS_CATEGORIES
|
638 |
model_names = list(ldb_records.keys())
|
639 |
sizes = [float(ldb_records[model]['# θ (B)']) for model in model_names]
|
640 |
+
|
641 |
+
if category in (self.TASKS_CATEGORY_OVERALL, self.TASKS_CATEGORY_OVERALL_DETAILS):
|
642 |
+
average_performance = [float(ldb_records[model]['Average ⬆️']) for model in model_names]
|
643 |
+
else:
|
644 |
+
average_performance = [float(ldb_records[model][category]) for model in model_names]
|
645 |
|
646 |
variances={}
|
647 |
for model, record in ldb_records.items():
|
|
|
652 |
print(min(variances.values()))
|
653 |
variance_across_categories = variances
|
654 |
|
655 |
+
if category in (self.TASKS_CATEGORY_OVERALL, self.TASKS_CATEGORY_OVERALL_DETAILS):
|
656 |
+
fig_y_axis_label = 'Overall Duel Win Score'
|
657 |
+
else:
|
658 |
+
fig_y_axis_label = f"{category} Duel Win Score"
|
659 |
+
|
660 |
fig = create_scatter_plot_with_curve_with_variances_named(
|
661 |
+
fig_y_axis_label,
|
662 |
variance_across_categories,
|
663 |
sizes,
|
664 |
average_performance,
|