Spaces:
Runtime error
Runtime error
import gradio as gr | |
import json | |
from huggingface_hub import HfApi, ModelFilter, list_models | |
api = HfApi() | |
def model_explorer(search,task,limit=100): | |
# List all models | |
if limit==0: | |
limit=None | |
if not search: | |
search=None | |
out_box=[] | |
out_box1=[] | |
name_box=[] | |
if task: | |
filt = ModelFilter(task=task) | |
this = api.list_models(search=search,limit=limit,filter=filt,cardData=True) | |
else: | |
this = api.list_models(search=search,limit=limit,cardData=True) | |
cnt=0 | |
for i,mod in enumerate(this): | |
print(mod.__dict__) | |
print(dir(mod)) | |
cnt+=1 | |
#if mod.gated=='manual': | |
out_box.append(mod) | |
loaded=mod.__dict__ | |
loaded['DOWNLOAD_LINK']=f'https://huggingface.co/models/{mod.id}' | |
out_box1.append(loaded) | |
name_box.append(mod.id) | |
''' | |
print(dir(mod)) | |
print(mod.id) | |
print(mod.downloads) | |
print(mod.likes) | |
print(mod.pipeline_tag) | |
out = mod.id | |
''' | |
print(cnt) | |
return out_box1,name_box | |
def tasks_json(): | |
with open("tasks.json", "r") as read_file: | |
print("Read JSON file") | |
tasks = json.load(read_file) | |
print("Before Pretty Printing JSON Data") | |
print(tasks) | |
def fix_json(): | |
new_json=[] | |
with open("tasks.json", "r") as fix_file: | |
for i, line in enumerate(fix_file.readlines()): | |
#print (line) | |
if "name:" in line: | |
out = line.replace("name:",'"name":') | |
new_json.append(out) | |
print (out) | |
elif "modality:" in line: | |
out = line.replace("modality:",'"modality":') | |
new_json.append(out) | |
print (out) | |
elif "type:" in line: | |
out = line.replace("type:",'"type":') | |
new_json.append(out) | |
print (out) | |
elif "subtasks:" in line: | |
out = line.replace("subtasks:",'"subtasks":') | |
new_json.append(out) | |
print (out) | |
elif "color:" in line: | |
out = line.replace("color:",'"color":') | |
new_json.append(out) | |
print (out) | |
elif "hideInModels:" in line: | |
out = line.replace("hideInModels:",'"hideInModels":') | |
new_json.append(out) | |
print (out) | |
elif "hideInDatasets:" in line: | |
out = line.replace("hideInDatasets:",'"hideInDatasets":') | |
new_json.append(out) | |
print (out) | |
else: | |
new_json.append(line) | |
print(line) | |
#print (json.dumps(new_json)) | |
#new_out=new_json.decode("utf-8") | |
for i,line in enumerate(new_json): | |
try: | |
line.decode("utf-8") | |
except Exception: | |
pass | |
if line.strip(): | |
print (line) | |
with gr.Blocks() as app: | |
with gr.Row(): | |
search=gr.Textbox(label="query") | |
task=gr.Textbox(label="task") | |
limit=gr.Slider(minimum=0,maximum=10000,value=100) | |
btn=gr.Button() | |
names_json=gr.JSON() | |
models_json=gr.JSON() | |
btn.click(model_explorer,[search,task,limit],[models_json,names_json]) | |
app.launch() |