File size: 2,291 Bytes
d714d3d
8fa564a
f894099
60ed47f
49687e4
 
ed88b70
 
49687e4
8d217ca
9265cc1
 
 
 
8d217ca
36b3c9a
62a99f6
 
36b3c9a
62a99f6
 
36b3c9a
62a99f6
 
 
 
 
f894099
 
3c99043
d714d3d
 
384f0cb
 
3c99043
f894099
60ed47f
4ec3536
f894099
ef02a4a
c1e08f5
 
a8a0883
c1e08f5
 
a8a0883
 
 
 
1f375b6
ef02a4a
36b3c9a
ef02a4a
36b3c9a
62a99f6
 
 
36b3c9a
ef02a4a
 
 
 
f1e040d
a8a0883
 
36b3c9a
ef02a4a
62a99f6
a8a0883
3c99043
d714d3d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import gradio as gr
import pandas as pd 
import requests
import json
from datasets import load_dataset

#dataset = load_dataset("nlphuji/flickr30k", split="test[10:20]")
#print (dataset)

#headers = {"Authorization": f"Bearer {API_TOKEN}"}
def query1(fetch_url):
    if fetch_url=="":
        fetch_url = "nlphuji/flickr30k"    
    API_URL1 = f"https://datasets-server.huggingface.co/splits?dataset={fetch_url}"
    response = requests.get(API_URL1)
    json_obj=response.json()

    drop_box = []
    for obj in json_obj:
        out_config = obj["splits"]["config"]
        out_split = obj["splits"]["split"]
        print (obj)
        print (out_config)
        print (out_split)
        drop_box.append(obj["splits"])
    #df = pd.DataFrame.from_dict(json_obj)        
    return gr.update(choices=[d for d in drop_box])


def query2(fetch_url,config="TEST",split="test",offset=0,length=10):
    if fetch_url=="":
        fetch_url = "nlphuji/flickr30k"
    #offset=0
    #length=10
    API_URL2 = f"https://datasets-server.huggingface.co/rows?dataset={fetch_url}&config={config}&split={split}&offset={offset}&length={length}"
    response = requests.get(API_URL2)
    dictionary=response.json()
    return dictionary

def find_fn(inp,out_json):
    #print(out_json['rows'])
    #print (inp)
    img_list=[]
    out_json1=query2("",offset=10,length=20)
    for rows in out_json1['rows']:
        img_ea = rows['row']['image']['src']
        img_list.append(img_ea)
    
    return img_list,img_list
with gr.Blocks() as app:
    with gr.Row():
        data_set_url=gr.Textbox(label="Dataset (repo/name)")
        fetch_btn=gr.Button()
    with gr.Row():
        #config_set=gr.Textbox(label="Config")
        #split_set=gr.Textbox(label="Split")
        config_drop = gr.Dropdown(label="Config/Split", choices=[])
        view_data=gr.Button(label="View")
    with gr.Row():
        find_string=gr.Textbox()
        find_btn=gr.Button("Search")
    with gr.Row():
        out_json = gr.DataFrame()
        with gr.Column():
            out_find = gr.JSON()
            out_gal = gr.Gallery()

    view_data.click(query2,[data_set_url,config],[out_find])
    find_btn.click(find_fn,[find_string,out_json],[out_find,out_gal])
    fetch_btn.click(query1,data_set_url,out_json)
app.launch()