sh1gechan commited on
Commit
6ecf824
·
verified ·
1 Parent(s): be1b250

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -17
app.py CHANGED
@@ -143,35 +143,51 @@ def filter_models(
143
  print("Initial df columns:")
144
  print(df.columns.tolist())
145
 
146
- # Show all models
147
- if show_deleted:
148
- filtered_df = df
149
- else: # Show only still on the hub models
150
- filtered_df = df[df[AutoEvalColumn.still_on_hub.name] == True]
151
 
152
  print(f"After deletion filter: {filtered_df.shape}")
153
 
 
154
  type_emoji = [t[0] for t in type_query]
155
  if 'T' in filtered_df.columns:
156
- filtered_df = filtered_df.loc[filtered_df['T'].isin(type_emoji)]
157
  elif 'Type_Symbol' in filtered_df.columns:
158
- filtered_df = filtered_df.loc[filtered_df['Type_Symbol'].isin(type_emoji)]
159
  else:
160
  print("Warning: Neither 'T' nor 'Type_Symbol' column found in the dataframe")
161
- # filtered_df = filtered_df.loc[df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
162
- if 'Unknown' not in precision_query:
163
- precision_query.append('Unknown')
164
- filtered_df = filtered_df.loc[filtered_df[AutoEvalColumn.precision.name].isin(precision_query)]
165
- filtered_df = filtered_df.loc[filtered_df[AutoEvalColumn.add_special_tokens.name].isin(add_special_tokens_query + ["Unknown"])]
166
- filtered_df = filtered_df.loc[filtered_df[AutoEvalColumn.num_few_shots.name].isin(num_few_shots_query + ["Unknown"])]
167
- print(f"After num_few_shots filter: {filtered_df.shape}")
168
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
169
 
 
170
  numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
171
- params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
172
- mask = params_column.apply(lambda x: any(numeric_interval.contains(x)))
173
- filtered_df = filtered_df.loc[mask]
174
  print(f"After size filter: {filtered_df.shape}")
 
 
 
 
 
175
  print("Filtered dataframe head:")
176
  print(filtered_df.head())
177
  print("Column names:")
@@ -180,9 +196,11 @@ def filter_models(
180
  print(filtered_df.dtypes)
181
  print("Final filtered dataframe sample:")
182
  print(filtered_df.head().to_dict('records'))
 
183
  filtered_df = filtered_df.rename(columns={'Type_Symbol': 'T'})
184
  print("Filtered DataFrame sample:")
185
  print(filtered_df.head().to_dict('records'))
 
186
  filtered_df = filtered_df.astype(str)
187
  return filtered_df
188
 
 
143
  print("Initial df columns:")
144
  print(df.columns.tolist())
145
 
146
+ filtered_df = df.copy() # Create a copy to avoid modifying the original dataframe
147
+
148
+ # Show all models (comment out for debugging)
149
+ # if not show_deleted:
150
+ # filtered_df = filtered_df[filtered_df[AutoEvalColumn.still_on_hub.name] == True]
151
 
152
  print(f"After deletion filter: {filtered_df.shape}")
153
 
154
+ # Type filter
155
  type_emoji = [t[0] for t in type_query]
156
  if 'T' in filtered_df.columns:
157
+ filtered_df = filtered_df[filtered_df['T'].isin(type_emoji + ['?'])] # Include '?' as a valid type
158
  elif 'Type_Symbol' in filtered_df.columns:
159
+ filtered_df = filtered_df[filtered_df['Type_Symbol'].isin(type_emoji + ['?'])]
160
  else:
161
  print("Warning: Neither 'T' nor 'Type_Symbol' column found in the dataframe")
 
 
 
 
 
 
 
162
 
163
+ print(f"After type filter: {filtered_df.shape}")
164
+
165
+ # Precision filter
166
+ precision_query = precision_query + ['Unknown', '?']
167
+ filtered_df = filtered_df[filtered_df[AutoEvalColumn.precision.name].isin(precision_query)]
168
+ print(f"After precision filter: {filtered_df.shape}")
169
+
170
+ # Add Special Tokens filter
171
+ add_special_tokens_query = add_special_tokens_query + ["Unknown"]
172
+ filtered_df = filtered_df[filtered_df[AutoEvalColumn.add_special_tokens.name].isin(add_special_tokens_query)]
173
+ print(f"After add_special_tokens filter: {filtered_df.shape}")
174
+
175
+ # Num Few Shots filter
176
+ num_few_shots_query = num_few_shots_query + ["Unknown"]
177
+ filtered_df = filtered_df[filtered_df[AutoEvalColumn.num_few_shots.name].isin(num_few_shots_query)]
178
+ print(f"After num_few_shots filter: {filtered_df.shape}")
179
 
180
+ # Size filter
181
  numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
182
+ params_column = pd.to_numeric(filtered_df[AutoEvalColumn.params.name], errors="coerce")
183
+ mask = params_column.apply(lambda x: pd.isna(x) or any(numeric_interval.contains(x)))
184
+ filtered_df = filtered_df[mask]
185
  print(f"After size filter: {filtered_df.shape}")
186
+
187
+ if filtered_df.empty:
188
+ print("Warning: Filtered dataframe is empty!")
189
+ return pd.DataFrame(columns=df.columns) # Return an empty dataframe with the same columns
190
+
191
  print("Filtered dataframe head:")
192
  print(filtered_df.head())
193
  print("Column names:")
 
196
  print(filtered_df.dtypes)
197
  print("Final filtered dataframe sample:")
198
  print(filtered_df.head().to_dict('records'))
199
+
200
  filtered_df = filtered_df.rename(columns={'Type_Symbol': 'T'})
201
  print("Filtered DataFrame sample:")
202
  print(filtered_df.head().to_dict('records'))
203
+
204
  filtered_df = filtered_df.astype(str)
205
  return filtered_df
206