File size: 1,123 Bytes
e67ffd0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as slt 
import math
import torch
from torchvision.utils import make_grid
from utils import norm,recover_image
# it seems streamlit reruns the whole script when an event occurs
from transformers import AutoModel
if "generator" not in slt.session_state:
    slt.session_state.generator=AutoModel.from_pretrained("hikmatfarhat/WGANGP_generator",trust_remote_code=True)
slt.markdown("# Choose the number of images to generate from the sidebar")
def display_images():
    with torch.no_grad():
        total=slt.session_state.size
        rows=int(math.sqrt(total))
        noise=torch.randn(total,128, 1, 1)
        generator=slt.session_state.generator
        fake_images=generator(noise)
        res=make_grid(fake_images,nrow=rows,padding=2,normalize=True)
        norm(res)
        img=recover_image(res)
        slt.session_state.image=img
        #slt.image(img)
if 'image' in slt.session_state:
    slt.image(slt.session_state.image)

slt.sidebar.selectbox("Select number of images",[16,32,64],key="size")

slt.sidebar.button("Generate images",on_click=display_images)#,args=[slt.session_state.total])