blipSpace / app.py
Abooolfazl's picture
Update app.py
a1860a3 verified
Raw
History Blame Contribute Delete
933 Bytes
import gradio as gr
import spaces
import torch
from PIL import Image
from transformers import BlipProcessor, BlipForConditionalGeneration
MODEL_ID = "Salesforce/blip-image-captioning-base"
processor = BlipProcessor.from_pretrained(MODEL_ID)
model = BlipForConditionalGeneration.from_pretrained(MODEL_ID)
model.eval()
@spaces.GPU
def caption(image: Image.Image) -> str:
if image is None:
return ""
# GPU is only available inside this function on ZeroGPU
model.to("cuda")
# BLIP expects RGB input
inputs = processor(images=image.convert("RGB"), return_tensors="pt").to("cuda")
with torch.no_grad():
out = model.generate(**inputs, max_new_tokens=50)
return processor.decode(out[0], skip_special_tokens=True)
demo = gr.Interface(
fn=caption,
inputs=gr.Image(type="pil", label="Image"),
outputs=gr.Textbox(label="Caption"),
title="BLIP Image Captioning",
)
demo.launch()