Armeddinosaur commited on
Commit
c08520d
·
1 Parent(s): 678bdbb

Removing Model Type Selection

Browse files
src/app.py CHANGED
@@ -22,8 +22,7 @@ from src.components.header import render_page_header
22
  from src.components.filters import (
23
  initialize_session_state,
24
  render_metric_selection,
25
- render_task_selection,
26
- render_model_type_selection
27
  )
28
  from src.components.leaderboard import render_leaderboard_table, render_empty_state
29
  from src.components.tasks import render_task_descriptions
@@ -100,17 +99,16 @@ def main():
100
 
101
  # Continue with other filters
102
  selected_tasks = render_task_selection(df)
103
- selected_model_types = render_model_type_selection(df)
104
 
105
  # Render leaderboard if selections are valid
106
- if selected_tasks and selected_model_types:
107
  # Load the primary metric data first (always the first in selected_metrics)
108
  primary_metric = selected_metrics[0]
109
  primary_metric_data = load_metric_data(metrics_config[primary_metric]["file"])
110
  primary_df = process_data(primary_metric_data)
111
 
112
  # Filter and prepare data for primary metric
113
- filtered_df = filter_and_prepare_data(primary_df, selected_tasks, selected_model_types)
114
 
115
  # Format data for display
116
  display_df, metric_columns = format_display_dataframe(filtered_df, selected_tasks)
@@ -124,7 +122,7 @@ def main():
124
  metric_df = process_data(metric_data)
125
 
126
  # Process and merge the additional metric data
127
- metric_filtered_df = filter_and_prepare_data(metric_df, selected_tasks, selected_model_types)
128
  metric_display_df, _ = format_display_dataframe(metric_filtered_df, selected_tasks)
129
 
130
  # Create a meaningful prefix for this metric
 
22
  from src.components.filters import (
23
  initialize_session_state,
24
  render_metric_selection,
25
+ render_task_selection
 
26
  )
27
  from src.components.leaderboard import render_leaderboard_table, render_empty_state
28
  from src.components.tasks import render_task_descriptions
 
99
 
100
  # Continue with other filters
101
  selected_tasks = render_task_selection(df)
 
102
 
103
  # Render leaderboard if selections are valid
104
+ if selected_tasks:
105
  # Load the primary metric data first (always the first in selected_metrics)
106
  primary_metric = selected_metrics[0]
107
  primary_metric_data = load_metric_data(metrics_config[primary_metric]["file"])
108
  primary_df = process_data(primary_metric_data)
109
 
110
  # Filter and prepare data for primary metric
111
+ filtered_df = filter_and_prepare_data(primary_df, selected_tasks, st.session_state.selected_model_types)
112
 
113
  # Format data for display
114
  display_df, metric_columns = format_display_dataframe(filtered_df, selected_tasks)
 
122
  metric_df = process_data(metric_data)
123
 
124
  # Process and merge the additional metric data
125
+ metric_filtered_df = filter_and_prepare_data(metric_df, selected_tasks, st.session_state.selected_model_types)
126
  metric_display_df, _ = format_display_dataframe(metric_filtered_df, selected_tasks)
127
 
128
  # Create a meaningful prefix for this metric
src/components/filters.py CHANGED
@@ -18,16 +18,15 @@ def initialize_session_state(df):
18
  st.session_state.selected_metrics = [primary_metric]
19
 
20
  if 'selected_tasks' not in st.session_state:
21
- # Select all tasks by default, excluding Model Type
22
  st.session_state.selected_tasks = [col for col in df.columns if col not in ['Model Type']]
23
  else:
24
  # Make sure selected_tasks only includes actual tasks from the dataframe
25
  valid_tasks = [col for col in df.columns if col not in ['Model Type']]
26
  st.session_state.selected_tasks = [task for task in st.session_state.selected_tasks if task in valid_tasks]
27
 
28
- if 'selected_model_types' not in st.session_state:
29
- # Ensure all model types are selected by default
30
- st.session_state.selected_model_types = list(df['Model Type'].unique())
31
 
32
  def render_metric_selection():
33
  """
@@ -126,45 +125,4 @@ def render_task_selection(df):
126
  st.session_state.selected_tasks.append(task)
127
  st.rerun() # Force UI update
128
 
129
- return st.session_state.selected_tasks
130
-
131
- def render_model_type_selection(df):
132
- """
133
- Render the model type selection component
134
-
135
- Args:
136
- df (pandas.DataFrame): The DataFrame with model data
137
-
138
- Returns:
139
- list: Selected model types
140
- """
141
- st.markdown("### Select Model Types")
142
-
143
- # Get unique model types
144
- model_types = df['Model Type'].unique().tolist()
145
-
146
- # Determine number of columns - up to 4 columns max depending on number of model types
147
- num_cols = min(len(model_types), 4)
148
-
149
- # Create columns
150
- cols = st.columns(num_cols)
151
-
152
- # Add a button for each model type
153
- for i, model_type in enumerate(model_types):
154
- col_idx = i % num_cols # Determine which column to place the button in
155
-
156
- with cols[col_idx]:
157
- is_selected = model_type in st.session_state.selected_model_types
158
- button_label = f"✓ {model_type}" if is_selected else model_type
159
- button_type = "primary" if is_selected else "secondary"
160
-
161
- if st.button(button_label, key=f"model_type_{model_type}", type=button_type):
162
- if is_selected:
163
- # Prevent deselecting all model types - ensure at least one remains selected
164
- if len(st.session_state.selected_model_types) > 1:
165
- st.session_state.selected_model_types.remove(model_type)
166
- else:
167
- st.session_state.selected_model_types.append(model_type)
168
- st.rerun() # Force UI update
169
-
170
- return st.session_state.selected_model_types
 
18
  st.session_state.selected_metrics = [primary_metric]
19
 
20
  if 'selected_tasks' not in st.session_state:
21
+ # Select all tasks by default
22
  st.session_state.selected_tasks = [col for col in df.columns if col not in ['Model Type']]
23
  else:
24
  # Make sure selected_tasks only includes actual tasks from the dataframe
25
  valid_tasks = [col for col in df.columns if col not in ['Model Type']]
26
  st.session_state.selected_tasks = [task for task in st.session_state.selected_tasks if task in valid_tasks]
27
 
28
+ # Always select all model types
29
+ st.session_state.selected_model_types = list(df['Model Type'].unique())
 
30
 
31
  def render_metric_selection():
32
  """
 
125
  st.session_state.selected_tasks.append(task)
126
  st.rerun() # Force UI update
127
 
128
+ return st.session_state.selected_tasks
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/components/leaderboard.py CHANGED
@@ -240,6 +240,6 @@ def render_empty_state():
240
  """
241
  st.markdown("""
242
  <div class="warning-box">
243
- <strong>No data to display.</strong> Please select at least one task and one model type to view the data.
244
  </div>
245
  """, unsafe_allow_html=True)
 
240
  """
241
  st.markdown("""
242
  <div class="warning-box">
243
+ <strong>No data to display.</strong> Please select at least one task to view the data.
244
  </div>
245
  """, unsafe_allow_html=True)