Spaces:
Running
Running
mrfakename
commited on
Commit
•
2c89463
1
Parent(s):
00a2513
Update app.py
Browse files
app.py
CHANGED
@@ -77,37 +77,6 @@ def create_db_if_missing():
|
|
77 |
def get_db():
|
78 |
return sqlite3.connect(DB_PATH)
|
79 |
|
80 |
-
def get_leaderboard(reveal_prelim: bool):
|
81 |
-
conn = get_db()
|
82 |
-
cursor = conn.cursor()
|
83 |
-
sql = 'SELECT name, upvote, downvote FROM model'
|
84 |
-
if not reveal_prelim: sql += ' WHERE EXISTS (SELECT 1 FROM model WHERE (upvote + downvote) > 750)'
|
85 |
-
cursor.execute(sql)
|
86 |
-
data = cursor.fetchall()
|
87 |
-
df = pd.DataFrame(data, columns=['name', 'upvote', 'downvote'])
|
88 |
-
df['license'] = df['name'].map(model_licenses).fillna("Unknown")
|
89 |
-
df['name'] = df['name'].replace(model_names)
|
90 |
-
df['votes'] = df['upvote'] + df['downvote']
|
91 |
-
# df['score'] = round((df['upvote'] / df['votes']) * 100, 2) # Percentage score
|
92 |
-
|
93 |
-
## ELO SCORE
|
94 |
-
df['score'] = 1200
|
95 |
-
for i in range(len(df)):
|
96 |
-
for j in range(len(df)):
|
97 |
-
if i != j:
|
98 |
-
expected_a = 1 / (1 + 10 ** ((df['score'][j] - df['score'][i]) / 400))
|
99 |
-
expected_b = 1 / (1 + 10 ** ((df['score'][i] - df['score'][j]) / 400))
|
100 |
-
actual_a = df['upvote'][i] / df['votes'][i]
|
101 |
-
actual_b = df['upvote'][j] / df['votes'][j]
|
102 |
-
df.at[i, 'score'] += 32 * (actual_a - expected_a)
|
103 |
-
df.at[j, 'score'] += 32 * (actual_b - expected_b)
|
104 |
-
df['score'] = round(df['score'])
|
105 |
-
## ELO SCORE
|
106 |
-
df = df.sort_values(by='score', ascending=False)
|
107 |
-
df['order'] = ['#' + str(i + 1) for i in range(len(df))]
|
108 |
-
# df = df[['name', 'score', 'upvote', 'votes']]
|
109 |
-
df = df[['order', 'name', 'score', 'license', 'votes']]
|
110 |
-
return df
|
111 |
|
112 |
|
113 |
####################################
|
@@ -318,6 +287,41 @@ model_links = {
|
|
318 |
# choice1 = get_random_split()
|
319 |
# choice2 = get_random_split(choice1)
|
320 |
# return (choice1, choice2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
def mkuuid(uid):
|
322 |
if not uid:
|
323 |
uid = uuid.uuid4()
|
|
|
77 |
def get_db():
|
78 |
return sqlite3.connect(DB_PATH)
|
79 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
81 |
|
82 |
####################################
|
|
|
287 |
# choice1 = get_random_split()
|
288 |
# choice2 = get_random_split(choice1)
|
289 |
# return (choice1, choice2)
|
290 |
+
def model_license(name):
|
291 |
+
if name in model_licenses.keys():
|
292 |
+
return model_licenses[name]
|
293 |
+
return 'Unknown'
|
294 |
+
def get_leaderboard(reveal_prelim: bool):
|
295 |
+
conn = get_db()
|
296 |
+
cursor = conn.cursor()
|
297 |
+
sql = 'SELECT name, upvote, downvote FROM model'
|
298 |
+
if not reveal_prelim: sql += ' WHERE EXISTS (SELECT 1 FROM model WHERE (upvote + downvote) > 750)'
|
299 |
+
cursor.execute(sql)
|
300 |
+
data = cursor.fetchall()
|
301 |
+
df = pd.DataFrame(data, columns=['name', 'upvote', 'downvote'])
|
302 |
+
df['license'] = df['name'].map(model_license).fillna("Unknown")
|
303 |
+
df['name'] = df['name'].replace(model_names)
|
304 |
+
df['votes'] = df['upvote'] + df['downvote']
|
305 |
+
# df['score'] = round((df['upvote'] / df['votes']) * 100, 2) # Percentage score
|
306 |
+
|
307 |
+
## ELO SCORE
|
308 |
+
df['score'] = 1200
|
309 |
+
for i in range(len(df)):
|
310 |
+
for j in range(len(df)):
|
311 |
+
if i != j:
|
312 |
+
expected_a = 1 / (1 + 10 ** ((df['score'][j] - df['score'][i]) / 400))
|
313 |
+
expected_b = 1 / (1 + 10 ** ((df['score'][i] - df['score'][j]) / 400))
|
314 |
+
actual_a = df['upvote'][i] / df['votes'][i]
|
315 |
+
actual_b = df['upvote'][j] / df['votes'][j]
|
316 |
+
df.at[i, 'score'] += 32 * (actual_a - expected_a)
|
317 |
+
df.at[j, 'score'] += 32 * (actual_b - expected_b)
|
318 |
+
df['score'] = round(df['score'])
|
319 |
+
## ELO SCORE
|
320 |
+
df = df.sort_values(by='score', ascending=False)
|
321 |
+
df['order'] = ['#' + str(i + 1) for i in range(len(df))]
|
322 |
+
# df = df[['name', 'score', 'upvote', 'votes']]
|
323 |
+
df = df[['order', 'name', 'score', 'license', 'votes']]
|
324 |
+
return df
|
325 |
def mkuuid(uid):
|
326 |
if not uid:
|
327 |
uid = uuid.uuid4()
|