File size: 1,589 Bytes
124a7d5
b31e8b0
b6849ed
b31e8b0
 
 
 
 
19e4584
 
b31e8b0
 
19e4584
 
 
 
 
 
 
 
 
 
1f54968
b31e8b0
 
 
19e4584
839e90d
b31e8b0
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 torch, os, gc, random
import gradio as gr
from PIL import Image
from diffusers.utils import load_image
from accelerate import Accelerator
from diffusers import StableDiffusionXLPipeline
accelerator = Accelerator(cpu=True)

pipe = accelerator.prepare(StableDiffusionXLPipeline.from_pretrained("segmind/Segmind-Vega", torch_dtype=torch.float32, use_safetensors=True, variant=None,safety_checker=False))
pipe.scheduler = accelerator.prepare(EulerDiscreteScheduler.from_config(pipe.scheduler.config))
pipe = accelerator.prepare(pipe.to("cpu"))
apol=[]
def plex(prompt,neg_prompt,stips,nut):
    apol=[]
    if nut == 0:
        nm = random.randint(1, 2147483616)
        while nm % 32 != 0:
            nm = random.randint(1, 2147483616)
    else:
        nm=nut
    generator = torch.Generator(device="cpu").manual_seed(nm)
    image = pipe(prompt=prompt,negative_prompt=neg_prompt, guidance_scale=9.0, num_inference_steps=stips, generator=generator, output_type="pil")
    for i, imge in enumerate(image["images"]):
        apol.append(imge)
    return apol

iface = gr.Interface(fn=plex, inputs=[gr.Textbox(label="prompt"),gr.Textbox(label="negative prompt",value="worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch"), gr.Slider(label="num inference steps", minimum=1, step=1, maximum=5, value=4),gr.Slider(label="manual seed (leave 0 for random)",minimum=0,step=32,maximum=2147483616,value=0)], outputs=gr.Gallery(label="out", columns=1),description="Running on cpu, very slow! by JoPmt.")
iface.queue(max_size=1,api_open=False)
iface.launch(max_threads=1)