|
import gradio as gr |
|
from transformers import BlipProcessor, BlipForConditionalGeneration |
|
from PIL import Image |
|
import torch |
|
|
|
|
|
processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-base") |
|
model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-base") |
|
|
|
|
|
def generate_caption(image): |
|
image = Image.open(image).convert("RGB") |
|
inputs = processor(image, return_tensors="pt") |
|
outputs = model.generate(**inputs) |
|
caption = processor.decode(outputs[0], skip_special_tokens=True) |
|
return caption |
|
|
|
|
|
iface = gr.Interface( |
|
fn=generate_caption, |
|
inputs=gr.Image(type="pil"), |
|
outputs="text", |
|
title="AI Image Caption Generator", |
|
description="Upload an image and get an AI-generated caption.", |
|
) |
|
|
|
|
|
iface.launch() |
|
|