from transformers import pipeline import gradio as gr # import io # import IPython.display # from PIL import Image # import base64 get_completion = pipeline("image-to-text",model="nlpconnect/vit-gpt2-image-captioning") def summarize(input): output = get_completion(input) return output[0]['generated_text'] # def image_to_base64_str(pil_image): # byte_arr = io.BytesIO() # pil_image.save(byte_arr, format='PNG') # byte_arr = byte_arr.getvalue() # return str(base64.b64encode(byte_arr).decode('utf-8')) def captioner(image): # base64_image = image_to_base64_str(image) result = get_completion(image) return result[0]['generated_text'] gr.close_all() demo = gr.Interface(fn=captioner, inputs=[gr.Image(label="Upload image", type="pil")], outputs=[gr.Textbox(label="Caption")], title="Image Captioning with BLIP", description="Caption any image using the BLIP model", allow_flagging="never") demo.launch()