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,
|