UdyanModels / app.py
Udyan's picture
Update app.py
117a8ee verified
import gradio as gr
import numpy as np
import torch
from PIL import Image
from transformers import AutoProcessor, BlipForConditionalGeneration
# Load the pretrained processor and model
processor = AutoProcessor.from_pretrained("Salesforce/blip-image-captioning-base")
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base")
def caption_image(input_image: np.ndarray):
# Convert numpy array to PIL Image
raw_image = Image.fromarray(input_image).convert("RGB")
# Prepare inputs
inputs = processor(raw_image, return_tensors="pt")
# Generate caption
with torch.no_grad():
out = model.generate(**inputs, max_length=50)
caption = processor.decode(out[0], skip_special_tokens=True)
return caption
iface = gr.Interface(
fn=caption_image,
inputs=gr.Image(type="numpy"),
outputs="text",
title="Image Captioning",
description="Upload an image and the BLIP model will generate a caption."
)
iface.launch(server_name="0.0.0.0", server_port=7860)