JoPmt's picture
Update app.py
c5dcf37 verified
Raw
History Blame Contribute Delete
1.63 kB
from transformers import pipeline
import PIL.Image
from diffusers.utils import load_image
import gradio as gr
from PIL import Image
import os, random, gc
from accelerate import Accelerator
accelerator = Accelerator(cpu=True)
from diffusers import AutoPipelineForText2Image, StableDiffusionXLPipeline, KDPM2AncestralDiscreteScheduler, DPMSolverMultistepScheduler
import torch
pipe = accelerator.prepare(AutoPipelineForText2Image.from_pretrained('dataautogpt3/OpenDalleV1.1', torch_dtype=torch.float32, use_safetensors=True))
pipe.scheduler = accelerator.prepare(DPMSolverMultistepScheduler.from_config(pipe.scheduler.config))
pipe.unet.to(memory_format=torch.channels_last)
pipe.to('cpu')
apol=[]
def plex(prompt,neg_prompt,stips,nut):
gc.collect()
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,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"),gr.Slider(label="num steps",minimum=1,step=1,maximum=8,value=3),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)