Spaces:
Sleeping
Sleeping
File size: 1,560 Bytes
24dbf56 0859f01 f3104b8 0859f01 24dbf56 99c67f4 298a8f7 d3455c2 298a8f7 24dbf56 cf9ba41 298a8f7 dbf39c7 0859f01 298a8f7 0859f01 |
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 |
from diffusers import AutoPipelineForText2Image, PNDMScheduler
import torch
import gradio as gr
from PIL import Image
import os, random
import PIL.Image
from transformers import pipeline
from diffusers.utils import load_image
from accelerate import Accelerator
accelerator = Accelerator(cpu=True)
apol=[]
pipe = accelerator.prepare(AutoPipelineForText2Image.from_pretrained("openskyml/overall-v1", torch_dtype=torch.float32, variant=None, use_safetensors=False, safety_checker=None))
pipe.scheduler = PNDMScheduler.from_config(pipe.scheduler.config)
pipe.unet.to(memory_format=torch.channels_last)
pipe.to("cpu")
def plex(prompt,neg_prompt,stips,nut):
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]*2, negative_prompt=[neg_prompt]*2, generator=generator, num_inference_steps=stips)
for a, imze in enumerate(image["images"]):
apol.append(imze)
return apol
iface = gr.Interface(fn=plex,inputs=[gr.Textbox(label="Prompt"), gr.Textbox(label="negative_prompt", value="low quality, bad quality"),gr.Slider(label="num steps",minimum=1,step=1,maximum=30,value=20),gr.Slider(label="manual seed (leave 0 for random)",minimum=0,step=32,maximum=2147483616,value=0)],outputs=gr.Gallery(label="Generated Output Image", columns=1),description="Running on cpu, very slow! by JoPmt.")
iface.queue(max_size=1,api_open=False)
iface.launch(max_threads=1) |