File size: 1,084 Bytes
ec657c4
 
 
7d3911c
 
ec657c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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

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)