Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Update app.py
Browse files
app.py
CHANGED
@@ -53,6 +53,11 @@ except Exception:
|
|
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,15 +81,25 @@ def update_table(
|
|
76 |
show_flagged: bool,
|
77 |
query: str,
|
78 |
):
|
79 |
-
filtered_df = filter_models(
|
|
|
|
|
|
|
|
|
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,33 +142,64 @@ def filter_queries(query: str, filtered_df: pd.DataFrame):
|
|
127 |
|
128 |
|
129 |
def filter_models(
|
130 |
-
df: pd.DataFrame,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
) -> pd.DataFrame:
|
132 |
-
#
|
|
|
|
|
|
|
133 |
if show_deleted:
|
134 |
filtered_df = df
|
135 |
-
|
|
|
136 |
filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True]
|
137 |
-
|
138 |
-
|
139 |
-
#
|
140 |
-
|
141 |
-
#
|
142 |
-
#
|
143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
type_emoji = [t[0] for t in type_query]
|
145 |
-
filtered_df = filtered_df
|
146 |
-
|
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(
|
153 |
mask = params_column.apply(lambda x: any(numeric_interval.contains(x)))
|
154 |
-
filtered_df = filtered_df
|
|
|
|
|
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)
|
|
|
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 |
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 |
print(filtered_df.head()) # フィルタ後のデータを確認
|
94 |
+
|
95 |
df = select_columns(filtered_df, columns)
|
96 |
+
print(f"DataFrame after selecting columns: {df.shape}")
|
97 |
+
print(df.head()) # 選択後のデータを確認
|
98 |
+
|
99 |
return df
|
100 |
|
101 |
|
102 |
+
|
103 |
def load_query(request: gr.Request): # triggered only once at startup => read query parameter if it exists
|
104 |
query = request.query_params.get("query") or ""
|
105 |
return query, query # return one for the "search_bar", one for a hidden component that triggers a reload only if value has changed
|
|
|
142 |
|
143 |
|
144 |
def filter_models(
|
145 |
+
df: pd.DataFrame,
|
146 |
+
type_query: list,
|
147 |
+
size_query: list,
|
148 |
+
precision_query: list,
|
149 |
+
add_special_tokens_query: list,
|
150 |
+
num_few_shots_query: list,
|
151 |
+
show_deleted: bool,
|
152 |
+
show_merges: bool,
|
153 |
+
show_flagged: bool
|
154 |
) -> pd.DataFrame:
|
155 |
+
# 初期状態
|
156 |
+
print(f"Initial DataFrame shape: {df.shape}")
|
157 |
+
|
158 |
+
# Show deleted models フィルタ
|
159 |
if show_deleted:
|
160 |
filtered_df = df
|
161 |
+
print("Show deleted models: ON")
|
162 |
+
else:
|
163 |
filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True]
|
164 |
+
print(f"After filtering deleted models: {filtered_df.shape}")
|
165 |
+
|
166 |
+
# Show merges フィルタ(コメントアウトされている場合はスキップ)
|
167 |
+
# if not show_merges:
|
168 |
+
# filtered_df = filtered_df[filtered_df[AutoEvalColumn.merged.name] == False]
|
169 |
+
# print(f"After filtering merged models: {filtered_df.shape}")
|
170 |
+
|
171 |
+
# Show flagged フィルタ(コメントアウトされている場合はスキップ)
|
172 |
+
# if not show_flagged:
|
173 |
+
# filtered_df = filtered_df[filtered_df[AutoEvalColumn.flagged.name] == False]
|
174 |
+
# print(f"After filtering flagged models: {filtered_df.shape}")
|
175 |
+
|
176 |
+
# Model type フィルタ
|
177 |
type_emoji = [t[0] for t in type_query]
|
178 |
+
filtered_df = filtered_df[filtered_df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
|
179 |
+
print(f"After filtering by model type: {filtered_df.shape}")
|
|
|
|
|
180 |
|
181 |
+
# Precision フィルタ
|
182 |
+
filtered_df = filtered_df[filtered_df[AutoEvalColumn.precision.name].isin(precision_query + ["None"])]
|
183 |
+
print(f"After filtering by precision: {filtered_df.shape}")
|
184 |
+
|
185 |
+
# Add Special Tokens フィルタ
|
186 |
+
filtered_df = filtered_df[filtered_df[AutoEvalColumn.add_special_tokens.name].isin(add_special_tokens_query)]
|
187 |
+
print(f"After filtering by add_special_tokens: {filtered_df.shape}")
|
188 |
+
|
189 |
+
# Num Few Shots フィルタ
|
190 |
+
filtered_df = filtered_df[filtered_df[AutoEvalColumn.num_few_shots.name].isin(num_few_shots_query)]
|
191 |
+
print(f"After filtering by num_few_shots: {filtered_df.shape}")
|
192 |
+
|
193 |
+
# Model size フィルタ
|
194 |
numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
|
195 |
+
params_column = pd.to_numeric(filtered_df[AutoEvalColumn.params.name], errors="coerce")
|
196 |
mask = params_column.apply(lambda x: any(numeric_interval.contains(x)))
|
197 |
+
filtered_df = filtered_df[mask]
|
198 |
+
print(f"After filtering by model size: {filtered_df.shape}")
|
199 |
+
|
200 |
return filtered_df
|
201 |
|
202 |
+
|
203 |
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)
|
204 |
|
205 |
demo = gr.Blocks(css=custom_css)
|