sh1gechan commited on
Commit
1ea4467
·
verified ·
1 Parent(s): 09843e2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -65
app.py CHANGED
@@ -53,11 +53,6 @@ except Exception:
53
  restart_space()
54
 
55
  LEADERBOARD_DF = get_leaderboard_df(EVAL_RESULTS_PATH, EVAL_REQUESTS_PATH, COLS, BENCHMARK_COLS)
56
- print(f"Initial leaderboard_df shape: {LEADERBOARD_DF.shape}")
57
- print("Initial leaderboard_df columns:", LEADERBOARD_DF.columns.tolist())
58
- print("Initial leaderboard_df sample data:")
59
- print(LEADERBOARD_DF.head())
60
-
61
  original_df = LEADERBOARD_DF
62
  leaderboard_df = original_df.copy()
63
  (
@@ -81,34 +76,15 @@ def update_table(
81
  show_flagged: bool,
82
  query: str,
83
  ):
84
- filtered_df = filter_models(
85
- hidden_df, type_query, size_query, precision_query,
86
- add_special_tokens_query, num_few_shots_query,
87
- show_deleted, show_merges, show_flagged
88
- )
89
  filtered_df = filter_queries(query, filtered_df)
90
-
91
  print(f"Filter applied: query={query}, columns={columns}, type_query={type_query}, precision_query={precision_query}")
92
- print(f"Filtered DataFrame shape: {filtered_df.shape}")
93
-
94
- if not filtered_df.empty:
95
- print(filtered_df.head()) # フィルタ後のデータを確認
96
- else:
97
- print("Filtered DataFrame is empty.")
98
-
99
  df = select_columns(filtered_df, columns)
100
- print(f"DataFrame after selecting columns: {df.shape}")
101
-
102
- if not df.empty:
103
- print(df.head()) # 選択後のデータを確認
104
- else:
105
- print("DataFrame after selecting columns is empty.")
106
-
107
  return df
108
 
109
 
110
-
111
-
112
  def load_query(request: gr.Request): # triggered only once at startup => read query parameter if it exists
113
  query = request.query_params.get("query") or ""
114
  return query, query # return one for the "search_bar", one for a hidden component that triggers a reload only if value has changed
@@ -151,54 +127,33 @@ def filter_queries(query: str, filtered_df: pd.DataFrame):
151
 
152
 
153
  def filter_models(
154
- df: pd.DataFrame,
155
- type_query: list,
156
- size_query: list,
157
- precision_query: list,
158
- add_special_tokens_query: list,
159
- num_few_shots_query: list,
160
- show_deleted: bool,
161
- show_merges: bool,
162
- show_flagged: bool
163
  ) -> pd.DataFrame:
164
- # 初期状態
165
- print(f"Initial DataFrame shape: {df.shape}")
166
-
167
- # Show deleted models フィルタ
168
  if show_deleted:
169
  filtered_df = df
170
- print("Show deleted models: ON")
171
- else:
172
  filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True]
173
- print(f"After filtering deleted models: {filtered_df.shape}")
174
-
175
- # Model type フィルタ
 
 
 
 
176
  type_emoji = [t[0] for t in type_query]
177
- filtered_df = filtered_df[filtered_df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
178
- print(f"After filtering by model type: {filtered_df.shape}")
179
-
180
- # Precision フィルタ("Unknown" を含める)
181
- filtered_df = filtered_df[filtered_df[AutoEvalColumn.precision.name].isin(precision_query + ["None", "Unknown"])]
182
- print(f"After filtering by precision (including 'Unknown'): {filtered_df.shape}")
183
 
184
- # Add Special Tokens フィルタ
185
- filtered_df = filtered_df[filtered_df[AutoEvalColumn.add_special_tokens.name].isin(add_special_tokens_query)]
186
- print(f"After filtering by add_special_tokens: {filtered_df.shape}")
187
-
188
- # Num Few Shots フィルタ
189
- filtered_df = filtered_df[filtered_df[AutoEvalColumn.num_few_shots.name].isin(num_few_shots_query)]
190
- print(f"After filtering by num_few_shots: {filtered_df.shape}")
191
-
192
- # Model size フィルタ
193
  numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
194
- params_column = pd.to_numeric(filtered_df[AutoEvalColumn.params.name], errors="coerce")
195
  mask = params_column.apply(lambda x: any(numeric_interval.contains(x)))
196
- filtered_df = filtered_df[mask]
197
- print(f"After filtering by model size: {filtered_df.shape}")
198
-
199
  return filtered_df
200
 
201
-
202
  leaderboard_df = filter_models(leaderboard_df, [t.to_str(" : ") for t in ModelType], list(NUMERIC_INTERVALS.keys()), [i.value.name for i in Precision], [i.value.name for i in AddSpecialTokens], [i.value.name for i in NumFewShots], False, False, False)
203
 
204
  demo = gr.Blocks(css=custom_css)
 
53
  restart_space()
54
 
55
  LEADERBOARD_DF = get_leaderboard_df(EVAL_RESULTS_PATH, EVAL_REQUESTS_PATH, COLS, BENCHMARK_COLS)
 
 
 
 
 
56
  original_df = LEADERBOARD_DF
57
  leaderboard_df = original_df.copy()
58
  (
 
76
  show_flagged: bool,
77
  query: str,
78
  ):
79
+ filtered_df = filter_models(hidden_df, type_query, size_query, precision_query, add_special_tokens_query, num_few_shots_query, show_deleted, show_merges, show_flagged)
 
 
 
 
80
  filtered_df = filter_queries(query, filtered_df)
 
81
  print(f"Filter applied: query={query}, columns={columns}, type_query={type_query}, precision_query={precision_query}")
82
+ print(filtered_df.head()) # フィルタ後のデータを確認
83
+
 
 
 
 
 
84
  df = select_columns(filtered_df, columns)
 
 
 
 
 
 
 
85
  return df
86
 
87
 
 
 
88
  def load_query(request: gr.Request): # triggered only once at startup => read query parameter if it exists
89
  query = request.query_params.get("query") or ""
90
  return query, query # return one for the "search_bar", one for a hidden component that triggers a reload only if value has changed
 
127
 
128
 
129
  def filter_models(
130
+ df: pd.DataFrame, type_query: list, size_query: list, precision_query: list, add_special_tokens_query: list, num_few_shots_query: list, show_deleted: bool, show_merges: bool, show_flagged: bool
 
 
 
 
 
 
 
 
131
  ) -> pd.DataFrame:
132
+ # Show all models
 
 
 
133
  if show_deleted:
134
  filtered_df = df
135
+ else: # Show only still on the hub models
 
136
  filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True]
137
+
138
+ #if not show_merges:
139
+ # filtered_df = filtered_df[filtered_df[AutoEvalColumn.merged.name] == False]
140
+
141
+ #if not show_flagged:
142
+ # filtered_df = filtered_df[filtered_df[AutoEvalColumn.flagged.name] == False]
143
+
144
  type_emoji = [t[0] for t in type_query]
145
+ filtered_df = filtered_df.loc[df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
146
+ filtered_df = filtered_df.loc[df[AutoEvalColumn.precision.name].isin(precision_query + ["None"])]
147
+ filtered_df = filtered_df.loc[df[AutoEvalColumn.add_special_tokens.name].isin(add_special_tokens_query)]
148
+ filtered_df = filtered_df.loc[df[AutoEvalColumn.num_few_shots.name].isin(num_few_shots_query)]
 
 
149
 
150
+
 
 
 
 
 
 
 
 
151
  numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
152
+ params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
153
  mask = params_column.apply(lambda x: any(numeric_interval.contains(x)))
154
+ filtered_df = filtered_df.loc[mask]
 
 
155
  return filtered_df
156
 
 
157
  leaderboard_df = filter_models(leaderboard_df, [t.to_str(" : ") for t in ModelType], list(NUMERIC_INTERVALS.keys()), [i.value.name for i in Precision], [i.value.name for i in AddSpecialTokens], [i.value.name for i in NumFewShots], False, False, False)
158
 
159
  demo = gr.Blocks(css=custom_css)