|
from PIL import Image |
|
import PIL.Image |
|
import cv2 |
|
import gradio as gr |
|
import numpy as np |
|
import torch, os, random |
|
from accelerate import Accelerator |
|
from transformers import pipeline |
|
from diffusers.utils import load_image |
|
from diffusers import KandinskyV22PriorPipeline, KandinskyV22Pipeline |
|
|
|
accelerator = Accelerator(cpu=True) |
|
pope_prior = accelerator.prepare(KandinskyV22PriorPipeline.from_pretrained("kandinsky-community/kandinsky-2-2-prior", torch_dtype=torch.float32)) |
|
pope_prior = pope_prior.to("cpu") |
|
pope = accelerator.prepare(KandinskyV22Pipeline.from_pretrained("kandinsky-community/kandinsky-2-2-decoder", torch_dtype=torch.float32)) |
|
pope = pope.to("cpu") |
|
generator = torch.Generator(device="cpu").manual_seed(random.randint(1, 4876364)) |
|
|
|
def plex(img, cook, one, two, three): |
|
goof = load_image(img).resize((512, 512)) |
|
prompt = cook |
|
negative_prior_prompt = "lowres,text,bad quality,low quality,jpeg artifacts,ugly,bad hands,bad face,blurry,bad eyes,watermark,signature" |
|
img_emb = pope_prior(prompt=prompt, guidance_scale=0.85, num_inference_steps=5, generator=generator) |
|
negative_emb = pope_prior(prompt=negative_prior_prompt, guidance_scale=1, num_inference_steps=5, generator=generator) |
|
imags = pope(image_embeds=img_emb.image_embeds,negative_image_embeds=negative_emb.image_embeds,num_inference_steps=5,generator=generator,height=512,width=512,).images[0] |
|
images_texts = [cook, goof, imags] |
|
weights = [one, two, three] |
|
primpt = "" |
|
prior_out = pope_prior.interpolate(images_texts, weights, num_inference_steps=5) |
|
imas = pope(**prior_out, height=512, width=512, num_inference_steps=5).images[0] |
|
return imas |
|
|
|
iface = gr.Interface(fn=plex,inputs=[gr.Image(label="drop", type="filepath"), gr.Textbox(label="prompt"), gr.Slider(label="Text Guide",minimum=0.01,step=0.01,maximum=0.99,value=0.5), gr.Slider(label="Your Image Guide",minimum=0.01,step=0.01,maximum=0.99,value=0.5),gr.Slider(label="Generated Image Guide",minimum=0.01,step=0.01,maximum=0.99,value=0.3)], outputs=gr.Image(), title="Ksky22 Cntrl Gdd Interp", description="ksky22 Cntrl Gdd Interp") |
|
iface.queue(max_size=1) |
|
iface.launch(max_threads=1) |