File size: 1,280 Bytes
0bf575a 86bf6fd a3c6d7b 86bf6fd c2e6d2c 5c5d04a c2e6d2c 6931598 |
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 33 34 35 36 |
from transformers import pipeline
#Create Image Captioning Pipeline
imagecaptioningpipe = pipeline("image-to-text",model="Salesforce/blip-image-captioning-base")
from diffusers import DiffusionPipeline
#Create Image Generation Pipeline
imagegenpipe = DiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
#Define Image Captioner and Image Generate Functions
from helper import image_to_base64_str, base64_to_pil
def captioner(image):
base64_image = image_to_base64_str(image)
result = imagecaptioningpipe(base64_image)
return result[0]['generated_text']
def generate(prompt):
return imagegenpipe(prompt).images[0]
#Build Image Caption and Generate Image Game App.
import gradio as gr
def caption_and_generate(image):
caption = captioner(image)
image = generate(caption)
return [caption, image]
with gr.Blocks() as demo:
gr.Markdown("# Caption Image-and-Generate Image🖍️")
image_upload = gr.Image(label="Upload Your image",type="pil")
btn_all = gr.Button("Caption and generate")
caption = gr.Textbox(label="Generated caption")
image_output = gr.Image(label="Generated Image")
btn_all.click(fn=caption_and_generate, inputs=[image_upload], outputs=[caption, image_output])
gr.close_all()
demo.launch() |