File size: 1,864 Bytes
a85be17
 
7b52fe5
bd1d32c
 
 
b4cc1c9
 
bd1d32c
a85be17
 
bd1d32c
 
 
 
 
a85be17
bd1d32c
 
 
b4cc1c9
bd1d32c
382d70a
 
 
 
 
 
 
 
 
 
 
b4cc1c9
382d70a
b4cc1c9
382d70a
b4cc1c9
 
b87e516
382d70a
 
b87e516
 
6642a1d
 
b87e516
 
 
 
 
 
 
 
 
 
bd1d32c
b4cc1c9
bd1d32c
 
b4cc1c9
bd1d32c
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
import gradio as gr
from models import models
from PIL import Image
import requests
import uuid
import io 
import base64


loaded_model=[]
for i,model in enumerate(models):
    try:
        loaded_model.append(gr.load(f'models/{model}'))
    except Exception as e:
        print(e)
        pass
print (loaded_model)

def run_dif(out_prompt):
    out_box=[]
    out_html=""
    for i,ea in enumerate(loaded_model):
        try:
            print (ea)
            model=loaded_model[int(i)]
            out_img=model(out_prompt)
            print(out_img)
            url=f'https://omnibus-top-20.hf.space/file={out_img}'
            print(url)
            uid = uuid.uuid4()
            #urllib.request.urlretrieve(image, 'tmp.png')
            #out=Image.open('tmp.png')
            r = requests.get(url, stream=True)
            
            if r.status_code == 200:
                img_buffer = io.BytesIO(r.content)
                print (f'bytes:: {io.BytesIO(r.content)}')
                str_equivalent_image = base64.b64encode(img_buffer.getvalue()).decode()
                img_tag = "<img src='data:image/png;base64," + str_equivalent_image + "'/>"                
                out_html+=f"<div><a href='https://huggingface.co/models/{ea}'>{ea}</a><br>"+img_tag+"</div>"
                out = Image.open(io.BytesIO(r.content))
                out_box.append(out)
            html_out = "<div class='grid_class'>"+out_html+"</div>"
            yield out_box,html_out
        except Exception as e:
            out_html+=e
            html_out = "<div class='grid_class'>"+out_html+"</div>"
            
            yield out_box,html_out
css="""
.grid_class{
display:flex;
}

"""
with gr.Blocks(css=css) as app:
    inp=gr.Textbox()
    out_html=gr.HTML()
    outp=gr.Gallery()
    btn=gr.Button()
    btn.click(run_dif,inp,[outp,out_html])
app.launch()