RanjithkumarPanjabikesan's picture
Update app.py
a3c6d7b verified
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()