Spaces:
Runtime error
Runtime error
import os | |
import csv | |
import shutil | |
import urllib.request | |
def get_score( | |
model_name=None, | |
dataset_name=None, | |
dataset_res=None, | |
dataset_split=None, | |
task_name=None, | |
): | |
# download the csv file from server | |
url = "https://www.cs.cmu.edu/~clean-fid/files/leaderboard.csv" | |
local_path = "/tmp/leaderboard.csv" | |
with urllib.request.urlopen(url) as response, open(local_path, "wb") as f: | |
shutil.copyfileobj(response, f) | |
d_field2idx = {} | |
l_matches = [] | |
with open(local_path, "r") as f: | |
csvreader = csv.reader(f) | |
l_fields = next(csvreader) | |
for idx, val in enumerate(l_fields): | |
d_field2idx[val.strip()] = idx | |
# iterate through all rows | |
for row in csvreader: | |
# skip empty rows | |
if len(row) == 0: | |
continue | |
# skip if the filter doesn't match | |
if model_name is not None and ( | |
row[d_field2idx["model_name"]].strip() != model_name | |
): | |
continue | |
if dataset_name is not None and ( | |
row[d_field2idx["dataset_name"]].strip() != dataset_name | |
): | |
continue | |
if dataset_res is not None and ( | |
row[d_field2idx["dataset_res"]].strip() != dataset_res | |
): | |
continue | |
if dataset_split is not None and ( | |
row[d_field2idx["dataset_split"]].strip() != dataset_split | |
): | |
continue | |
if task_name is not None and ( | |
row[d_field2idx["task_name"]].strip() != task_name | |
): | |
continue | |
curr = {} | |
for f in l_fields: | |
curr[f.strip()] = row[d_field2idx[f.strip()]].strip() | |
l_matches.append(curr) | |
os.remove(local_path) | |
return l_matches | |