WoWImg2Img / app.py
Arigadam's picture
Update app.py
7d3911c verified
import gradio
from diffusers import StableDiffusionPipeline
#import requests
#from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
pipe = StableDiffusionPipeline.from_pretrained("ByteDance/sd2.1-base-zsnr-laionaes6")#.to("cuda")
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-large")
def img2prompt(img):
raw_image = img.convert("RGB")
inputs = processor(raw_image, return_tensors="pt")
out = model.generate(**inputs)
output = processor.decode(out[0], skip_special_tokens=True)
return output
def prompt2img(prompt):
pipe = StableDiffusionPipeline.from_pretrained("ByteDance/sd2.1-base-zsnr-laionaes6").to("cuda")
img = pipe(prompt, guidance_scale=7.5, guidance_rescale=0.7).images[0]
return img
def wow_img2img(img):
return prompt2img(img2prompt(img))
app = gradio.Interface(fn=wow_img2img, inputs=gradio.Image(type="pil"), outputs=gradio.Image(type="pil"))
app.launch(share=True)