mgyigit commited on
Commit
51bfc88
·
verified ·
1 Parent(s): d167cc2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +58 -58
app.py CHANGED
@@ -56,25 +56,26 @@ with block:
56
  # table jmmmu bench
57
  with gr.TabItem("🏅 PROBE Leaderboard", elem_id="probe-benchmark-tab-table", id=1):
58
 
59
- with gr.Row(show_progress=True):
60
- method_names = pd.read_csv(CSV_RESULT_PATH)['method_name'].unique().tolist()
61
- metric_names = pd.read_csv(CSV_RESULT_PATH).columns.tolist()
62
- metrics_with_method = metric_names.copy()
63
- metric_names.remove('method_name') # Remove method_name from the metric options
64
-
65
- # Leaderboard section with method and metric selectors
66
- leaderboard_method_selector = gr.CheckboxGroup(
67
- choices=method_names, label="Select method_names for Leaderboard", value=method_names, interactive=True
68
- )
69
- leaderboard_metric_selector = gr.CheckboxGroup(
70
- choices=metric_names, label="Select Metrics for Leaderboard", value=metric_names, interactive=True
71
- )
72
 
73
- # Display the filtered leaderboard
74
- baseline_value = get_baseline_df(method_names, metric_names)
75
- baseline_header = ["method_name"] + metric_names
76
- baseline_datatype = ['markdown'] + ['number'] * len(metric_names)
77
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
  data_component = gr.components.Dataframe(
79
  value=baseline_value,
80
  headers=baseline_header,
@@ -84,51 +85,50 @@ with block:
84
  visible=True,
85
  )
86
 
87
- # Update leaderboard when method/metric selection changes
88
- leaderboard_method_selector.change(
89
- update_leaderboard,
90
- inputs=[leaderboard_method_selector, leaderboard_metric_selector],
91
- outputs=data_component
92
- )
93
- leaderboard_metric_selector.change(
94
- update_leaderboard,
95
- inputs=[leaderboard_method_selector, leaderboard_metric_selector],
96
- outputs=data_component
97
- )
98
-
99
- with gr.Row(variant='panel', show_progress=True):
100
-
101
- # Dropdown for benchmark type
102
- benchmark_type_selector = gr.Dropdown(choices=list(benchmark_specific_metrics.keys()), label="Select Benchmark Type")
103
-
104
- # Dynamic selectors
105
- x_metric_selector = gr.Dropdown(choices=[], label="Select X-axis Metric", visible=False)
106
- y_metric_selector = gr.Dropdown(choices=[], label="Select Y-axis Metric", visible=False)
107
- aspect_type_selector = gr.Dropdown(choices=[], label="Select Aspect Type", visible=False)
108
- dataset_type_selector = gr.Dropdown(choices=[], label="Select Dataset Type", visible=False)
109
- dataset_selector = gr.Dropdown(choices=[], label="Select Dataset", visible=False)
110
- single_metric_selector = gr.Dropdown(choices=[], label="Select Metric", visible=False)
111
-
112
- method_selector = gr.CheckboxGroup(choices=method_names, label="Select methods to visualize", interactive=True, value=method_names)
113
 
114
- # Button to draw the plot for the selected benchmark
115
 
116
- plot_button = gr.Button("Plot")
117
 
118
- plot_output = gr.Image(label="Plot")
119
 
120
- # Update selectors when benchmark type changes
121
- benchmark_type_selector.change(
122
- update_metric_choices,
123
- inputs=[benchmark_type_selector],
124
- outputs=[x_metric_selector, y_metric_selector, aspect_type_selector, dataset_type_selector, dataset_selector, single_metric_selector]
125
- )
126
 
127
- plot_button.click(
128
- benchmark_plot,
129
- inputs=[benchmark_type_selector, method_selector, x_metric_selector, y_metric_selector, aspect_type_selector, dataset_type_selector, dataset_selector, single_metric_selector],
130
- outputs=plot_output
131
- )
132
 
133
  with gr.TabItem("📝 About", elem_id="probe-benchmark-tab-table", id=2):
134
  with gr.Row():
 
56
  # table jmmmu bench
57
  with gr.TabItem("🏅 PROBE Leaderboard", elem_id="probe-benchmark-tab-table", id=1):
58
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
+ method_names = pd.read_csv(CSV_RESULT_PATH)['method_name'].unique().tolist()
61
+ metric_names = pd.read_csv(CSV_RESULT_PATH).columns.tolist()
62
+ metrics_with_method = metric_names.copy()
63
+ metric_names.remove('method_name') # Remove method_name from the metric options
64
+
65
+ # Leaderboard section with method and metric selectors
66
+ leaderboard_method_selector = gr.CheckboxGroup(
67
+ choices=method_names, label="Select method_names for Leaderboard", value=method_names, interactive=True
68
+ )
69
+ leaderboard_metric_selector = gr.CheckboxGroup(
70
+ choices=metric_names, label="Select Metrics for Leaderboard", value=metric_names, interactive=True
71
+ )
72
+
73
+ # Display the filtered leaderboard
74
+ baseline_value = get_baseline_df(method_names, metric_names)
75
+ baseline_header = ["method_name"] + metric_names
76
+ baseline_datatype = ['markdown'] + ['number'] * len(metric_names)
77
+
78
+ with gr.Row(show_progress=True)
79
  data_component = gr.components.Dataframe(
80
  value=baseline_value,
81
  headers=baseline_header,
 
85
  visible=True,
86
  )
87
 
88
+ # Update leaderboard when method/metric selection changes
89
+ leaderboard_method_selector.change(
90
+ update_leaderboard,
91
+ inputs=[leaderboard_method_selector, leaderboard_metric_selector],
92
+ outputs=data_component
93
+ )
94
+ leaderboard_metric_selector.change(
95
+ update_leaderboard,
96
+ inputs=[leaderboard_method_selector, leaderboard_metric_selector],
97
+ outputs=data_component
98
+ )
99
+
100
+
101
+ # Dropdown for benchmark type
102
+ benchmark_type_selector = gr.Dropdown(choices=list(benchmark_specific_metrics.keys()), label="Select Benchmark Type")
103
+
104
+ # Dynamic selectors
105
+ x_metric_selector = gr.Dropdown(choices=[], label="Select X-axis Metric", visible=False)
106
+ y_metric_selector = gr.Dropdown(choices=[], label="Select Y-axis Metric", visible=False)
107
+ aspect_type_selector = gr.Dropdown(choices=[], label="Select Aspect Type", visible=False)
108
+ dataset_type_selector = gr.Dropdown(choices=[], label="Select Dataset Type", visible=False)
109
+ dataset_selector = gr.Dropdown(choices=[], label="Select Dataset", visible=False)
110
+ single_metric_selector = gr.Dropdown(choices=[], label="Select Metric", visible=False)
111
+
112
+ method_selector = gr.CheckboxGroup(choices=method_names, label="Select methods to visualize", interactive=True, value=method_names)
 
113
 
114
+ # Button to draw the plot for the selected benchmark
115
 
116
+ plot_button = gr.Button("Plot")
117
 
118
+ plot_output = gr.Image(label="Plot")
119
 
120
+ # Update selectors when benchmark type changes
121
+ benchmark_type_selector.change(
122
+ update_metric_choices,
123
+ inputs=[benchmark_type_selector],
124
+ outputs=[x_metric_selector, y_metric_selector, aspect_type_selector, dataset_type_selector, dataset_selector, single_metric_selector]
125
+ )
126
 
127
+ plot_button.click(
128
+ benchmark_plot,
129
+ inputs=[benchmark_type_selector, method_selector, x_metric_selector, y_metric_selector, aspect_type_selector, dataset_type_selector, dataset_selector, single_metric_selector],
130
+ outputs=plot_output
131
+ )
132
 
133
  with gr.TabItem("📝 About", elem_id="probe-benchmark-tab-table", id=2):
134
  with gr.Row():